【发布时间】:2011-05-01 03:35:47
【问题描述】:
我想在 MySQL 5.2.25 版中从“alter table”重命名一个表的字段,但是我收到了这个错误:
SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)
但是在其他表我没有这个问题,不知道为什么,是外键引起的吗?
【问题讨论】:
我想在 MySQL 5.2.25 版中从“alter table”重命名一个表的字段,但是我收到了这个错误:
SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)
但是在其他表我没有这个问题,不知道为什么,是外键引起的吗?
【问题讨论】:
是的,这是一个外键错误。在您尝试alter table 之后立即执行show innodb status,部分输出将是最后一个外键错误详细信息。
通常这是由外键字段上的数据类型不匹配引起的(它在一个表中是“int”,但在您的 alter 表中是“bigint”,或者一个是无符号的而另一个不是,等等......)
【讨论】: