Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法创建外键约束_Php_Mysql_Sql - Fatal编程技术网

Php 无法创建外键约束

Php 无法创建外键约束,php,mysql,sql,Php,Mysql,Sql,我有一个客户,反馈和维修表。客户可以提供许多反馈,并进行许多维修。在反馈表中,我已经创建了一个clientid列(也添加了索引),并且我能够为clientid列(主键)创建一个外键 问题是我无法对修理表执行相同的操作。尽管我在repairs表中创建了一个clientid列(索引),并且它与clientid在clients表中具有相同的属性,但我得到了以下结果: MySQL说:文档 #1452-无法添加或更新子行:外键约束 失败(ccsdb。, 约束#sql-3f0_8e5_ibfk_1外键(客户

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

问题是我无法对修理表执行相同的操作。尽管我在repairs表中创建了一个clientid列(索引),并且它与clientid在clients表中具有相同的属性,但我得到了以下结果:

MySQL说:文档

#1452-无法添加或更新子行:外键约束 失败(
ccsdb
。, 约束
#sql-3f0_8e5_ibfk_1
外键(
客户端id
)引用
客户端
客户端id
)在更新级联时删除级联)

该错误(
无法添加或更新子行:外键约束失败
)在中引用

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

这意味着如果你说
table1.id=table2.id
,那么
table1
table2
的所有id必须匹配在一起

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

该错误(
无法添加或更新子行:外键约束失败
)在中引用

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

这意味着如果你说
table1.id=table2.id
,那么
table1
table2
的所有id必须匹配在一起

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


完全正确,伙计,我删除了修复表中的entre,它们的clientid引用与clients表中的clientid不匹配,这让我可以创建外键。非常感谢。完全正确的朋友,我删除了修复表中的entre,它们的clientid引用与clients表中的clientid不匹配,这让我可以创建外键。非常感谢。
table1.id  |  table2.fk
   1       |       1      ok 
   2       |     null     error
   3       |       4      error if id 4 is not in table1