【发布时间】:2014-03-31 19:22:51
【问题描述】:
我有一个 tb_denunciation 和一个 denouncer_id int(10) unsigned 列,其中一个外键引用了 tb_user(user_id)。
我需要在denouncer_id 中添加 NOT NULL。我已经检查了该列中没有空值,并且(当然,有一个外键)所有denouncer_id 值都与tb_user 上的一些user_id 匹配。
我正在运行这个命令:
ALTER TABLE tb_denunciation MODIFY denouncer_id int(10) unsigned not null;
我得到了错误:
ERROR 1025 (HY000):重命名错误 './my_db_schema/#sql-1153_1b4133' 到 './my_db_schema/tb_denunciation' (错误号:150)
我在谷歌上搜索过这个错误与外键有关,但我能检查的一切都很好。怎么了?
【问题讨论】:
-
父子表中的外键列应该相同。删除约束,然后更改两个表,然后重新添加约束。