2

我有一个客户、反馈和维修表。客户可以提供许多反馈并进行许多维修。在反馈表中,我创建了一个 clientid 列(还添加了索引),并且我能够为 clients 表的 clientid 列(主键)创建一个外键。

问题是我无法对维修表做同样的事情。即使我在 repairs 表中创建了一个 clientid 列(索引)并且它具有与 clients 表中的 clientid 相同的属性,我得到以下信息:

MySQL 说:文档

#1452 - 无法添加或更新子行:外键约束失败(ccsdb., CONSTRAINT #sql-3f0_8e5_ibfk_1FOREIGN KEY ( client_id) REFERENCES clients( client_id) ON DELETE CASCADE ON UPDATE CASCADE)

4

1 回答 1

0

MySQL FK DocCannot add or update a child row: a foreign key constraint fails中引用了该错误 ( )

要在 2 个表之间添加引用,条件必须适合现有数据。

这意味着如果你说then的table1.id = table2.id所有 id必须匹配在一起。table1table2

要解决这个问题,您必须消除或修复那些不匹配的行。
例子:

table1.id  |  table2.fk
   1       |       1      ok 
   2       |     null     error
   3       |       4      error if id 4 is not in table1
于 2012-05-27T12:41:32.630 回答