ALTER TABLE `groups` ADD FOREIGN KEY ( `company_id` ) REFERENCES `summaries`.`companies` (
`id`
) ON DELETE CASCADE ;
MySQL said:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`summaries/#sql-164a_33c`, CONSTRAINT `#sql-164a_33c_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `companies` (`id`) ON DELETE CASCADE)
companies.id
是 primary auto increment int(11)
company_id
是 index int(11)
我不明白错误信息。任何人都可以阐明这一点吗?
最佳答案
这意味着子表中至少有一行引用了父表中不存在的行。
如果您完全确定您可以接受这样的数据完整性问题,则可以在运行 ALTER TABLE
命令之前通过禁用外键检查来添加外键:
SET FOREIGN_KEY_CHECKS = 0;
关于mysql 外键错误 #1452,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5198600/