运行此查询时出现#1025 错误。
SQL查询:
ALTER TABLE `routes` CHANGE `end_loc` `end_loc` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
MySQL 说:
#1025 - Error on rename of './ridestr/#sql-1f44_26eeb' to './ridestr/routes' (errno: 150)
这很有趣,因为我在 PHP MyAdmin 中设置了这个查询......我不知道为什么我会收到外键错误......我只是想将一些东西从 int 更改为 varchar
有人能帮忙吗?
最佳答案
如果 routes.end_loc
列在外键中使用,则您无法更改其数据类型。您需要删除外键,更改父列和子列的数据类型,然后再次添加外键。
有关此错误的详细信息,请运行 SHOW ENGINE INNODB STATUS\G
,然后查看 LATEST FOREIGN KEY ERROR
部分。
关于MySQL #1025 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338304/