MySQL#1025错误

jos*_*omp 1 mysql mysql-error-1025

运行此查询时出现#1025错误.

SQL查询:

ALTER TABLE  `routes` CHANGE  `end_loc`  `end_loc` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
Run Code Online (Sandbox Code Playgroud)

MySQL说:

#1025 - Error on rename of './ridestr/#sql-1f44_26eeb' to './ridestr/routes' (errno: 150) 
Run Code Online (Sandbox Code Playgroud)

这很有趣,因为我在PHP MyAdmin中设置了这个查询...我不知道为什么我得到一个外键错误...我只是想尝试从int更改为varchar

有人可以帮忙吗?

Ike*_*ker 6

如果该routes.end_loc列正在外键中使用,则无法更改其数据类型.您将需要删除外键,更改父列和子列的数据类型,然后再次添加外键.

有关此错误的详细信息,请运行SHOW ENGINE INNODB STATUS\G,然后查看该LATEST FOREIGN KEY ERROR部分.