【发布时间】:2017-06-19 11:45:16
【问题描述】:
我正在将外键添加到我的表“empcompensation”中,引用另一个表“员工”。它显示错误。
ALTER TABLE `simhrmdb`.`empcompensation`
ADD CONSTRAINT `Fk_employee`
FOREIGN KEY (`employee`)
REFERENCES `simhrmdb`.`employees` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
操作失败:将 SQL 脚本应用到 数据库。
错误 1452:无法添加或更新子行:外部 键约束失败
(`simhrmdb`.`#sql-c5c_6`, CONSTRAINT `Fk_employee` 外键 (`employee`) 参考 `employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) SQL 语句:ALTER TABLE `simhrmdb`.`empcompensation` 添加约束 `Fk_employee` FOREIGN KEY (`employee`) REFERENCES `simhrmdb`.`employees` (`id`) ON 更新级联时删除级联
我之前将“employees”表中的相同“id”添加到其他几个表中,并且效果很好。但现在它会产生错误。薪酬表是我添加的新表。
在那个错误日志中,我可以看到一些字母 #sql-c5c_6 。这个我不明白。
【问题讨论】:
-
#sql-c5c_6只是 MySQL 为运行语句而生成的内部临时表。关注无法添加或更新子行:外键约束失败部分。
标签: mysql