创建外键时,phpmyadmin 中的外键约束失败
Posted
技术标签:
【中文标题】创建外键时,phpmyadmin 中的外键约束失败【英文标题】:Foreign key constraint fails in phpmyadmin while creating foreign key 【发布时间】:2017-03-11 00:30:56 【问题描述】:我正在创建外键但不断出错
1452 - 无法添加或更新子行:外键约束失败(
demo_db
.#sql-271c_ac
, CONSTRAINTcompany_state_id
FOREIGN键 (
company_state_id
) 引用company
(Id
))
SQL 查询是
ALTER TABLE `state` ADD CONSTRAINT `company_state_id` FOREIGN KEY (`company_state_id`) REFERENCES `company`(`Id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
【问题讨论】:
你的表中有数据,破坏了外键约束 你必须清除表中的所有数据,你可以添加约束 任何其他想法,因为我的表中有超过 100 条记录。 我做了什么。首先,我在表中添加了所有记录,然后我又添加了一列作为外键。 【参考方案1】:只需这样做:
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE `state` ADD CONSTRAINT `company_state_id` FOREIGN KEY (`company_state_id`) REFERENCES `company`(`Id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
SET FOREIGN_KEY_CHECKS=1;
这将首先忽略所有外键检查,更改您的表并再次将检查恢复为 1
希望这会有所帮助:)
【讨论】:
以上是关于创建外键时,phpmyadmin 中的外键约束失败的主要内容,如果未能解决你的问题,请参考以下文章