我想从“alter table”重命名MySQL ver 5.2.25中的表的字段,但是我收到了这个错误:
SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)
但在其他表上我没有这个问题,我不知道为什么,是不是由外键引起的呢?
答案 0 :(得分:1)
是的,这是一个外键错误。在show innodb status
尝试后立即执行alter table
,部分输出将是最后一个外键错误详细信息。
通常它是由外键字段上的数据类型不匹配引起的(它在一个表中是'int'但在alter table中是'bigint',或者是一个未签名而另一个没有,等等......)