我不确定自己犯了什么错误,请帮忙。
ALTER TABLE tyresys_tyre_model
ADD CONSTRAINT fk_manufacturer_tyre_model
FOREIGN KEY (ManufacturerId)
REFERENCES tyresys_manufacturer(Id)
ON DELETE RESTRICT
ON UPDATE CASCADE;
DATABASE ERROR
1452 - 无法添加或更新子行:外键约束失败(
database
。#sql-2494_108
,CONSTRAINTfk_manufacturer_tyre_model
FOREIGN KEY(ManufacturerId
)参考tyresys_manufacturer
(Id
)ON UPDATE CASCADE)
表 - tyresys_manufacturer
Id - int
Name
表 tyresys_tyre_model
Id
ManufacturerId - int
Name
有一种简单的方法吗?而不是做一个SQL查询?
答案 0 :(得分:0)
很可能tyresys_tyre_model
表包含ManufacturerId
表中不存在的值tyresys_manufacturer
。您必须先delete/update
这些记录。
您执行以下查询以获取ManufacturerId
s
SELECT ManufacturerId FROM tyresys_tyre_model WHERE tyresys_tyre_model NOT IN
(SELECT id FROM tyresys_manufacturer)