2011-04-01 121 views
0

我有以下查询:错误添加外键约束

ALTER TABLE ROUTE ADD FOREIGN KEY (RID) REFERENCES RESERVATION(RID) ON DELETE CASCADE 

,但它产生了我一个错误:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`SmarTrek`.`#sql-91e_d09`, CONSTRAINT `FK_RID` FOREIGN KEY (`RID`) REFERENCES `RESERVATION` (`RID`) ON DELETE CASCADE) 

在设计模式,这里是什么样子: enter image description here

回答

1

这意味着您在ROUTE表中已经有不满足外键约束的数据。

要找到有问题的记录,这样你就可以将其更新到其他值(存在),可以使用

select * 
from route 
where rid not in (select rid from reservation) 
+0

谢谢,这解决了我的问题 – aherlambang 2011-04-01 05:23:15

0

有可能B 2倍的原因

  • 有可能b某行在ROUTE表具有RID并不在RESERVATION(RID)
  • 存在或检查DATATYPEROUTE (RID) & RESERVATION(RID)两者应该相同(无符号/有符号)