0
我有一个建立的数据库,所有表设置使用INNODB和外键。现在我需要修改一个表并添加一个引用另一个表的新列。我的查询是:MySQL将外键添加到现有表PHP
ALTER TABLE test ADD newcol INT NOT NULL;
ALTER TABLE test ADD CONSTRAINT fk_test
FOREIGN KEY (newcol)
REFERENCES othertable(id);
我收到以下错误:
"#1452 - Cannot add or update a child row: a foreign key constraint fails."
所有其他的表包含数据,但我知道,如果我把test
表,并与外键创建它,将工作。如果我放弃测试表,它会删除很多记录,我想避免复制数据并重新插入它。
任何人都可以告诉我如何通过外键添加一个新的列?
我应该怎么做才能修复它,以便我添加外键 – GGio 2013-02-10 01:30:44
您需要更新测试newcol值,以便它们对应于othertable id列中的值。 – WebChemist 2013-02-10 01:32:37
明白了,非常感谢 – GGio 2013-02-10 01:32:59