【问题标题】:Foreign key constraint fails in phpmyadmin while creating foreign key创建外键时,phpmyadmin 中的外键约束失败
【发布时间】:2017-03-11 00:30:56
【问题描述】:

我正在创建外键但不断出错

1452 - 无法添加或更新子行:外键约束失败(demo_db.#sql-271c_ac, CONSTRAINT company_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 条记录。
  • 我做了什么。首先,我在表中添加了所有记录,然后我又添加了一列作为外键。

标签: mysql phpmyadmin


【解决方案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

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2023-04-09
    • 2013-03-04
    • 2016-08-17
    • 2011-11-03
    相关资源
    最近更新 更多