【问题标题】:PhpMyAdmin error #1452 - Cannot add or update a child row: a foreign key constraint failsPhpMyAdmin 错误 #1452 - 无法添加或更新子行:外键约束失败
【发布时间】:2019-03-29 15:11:01
【问题描述】:

我想要做的是将users_tableid 中的外键放入user_id 列中的users_order 表中,但是当我尝试这样做时会这样说。我做错了什么或者有没有其他方法可以在 PhpMyAdmin 中向表中添加外键?

#1452 - Cannot add or update a child row: a foreign key constraint fails (`users`.`#sql-4830_792`, CONSTRAINT `#sql-4830_792_ibfk_1` FOREIGN KEY (`id`) REFERENCES `user_order` (`user_id`))

Users

【问题讨论】:

  • 你能在这里写下你正在做的步骤吗?所以我能理解你做错了什么。您是否在“user_order”表的“user_id”列上创建了index

标签: mysql phpmyadmin


【解决方案1】:

根据docs

对于支持外键的存储引擎,MySQL 拒绝任何 INSERT 或尝试在 如果在子表中没有匹配的候选键值 父表。

您看到的错误表明您正在尝试向子表添加新行,而您的父表中存在与其匹配的行。要修复它,您可以在子表中插入行之前在父表中添加行,或者删除 NOT NULL 约束(如果有)并在相应列中插入 NULL 值。完成后,您将能够添加外键约束。

【讨论】:

    【解决方案2】:

    你的错误说 您插入外键的值在父表中不存在。 因此,在将外部值插入子表之前,请确保您的值在父表中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-10
      • 2015-02-04
      • 2013-06-11
      • 2018-05-14
      • 2013-05-11
      • 2013-09-28
      • 1970-01-01
      • 2014-01-06
      相关资源
      最近更新 更多