我正在尝试根据第三个表 ID 删除两个从属表中的所有行。
表结构:
Transaction
-Transaction_ID (primary)
-Timestamp
Purchase
-Item_ID
-Transaction_ID
-Purchase_ID (primary)
Item
-Item_ID (primary)
-Client_ID
我想从交易/购买中删除与项目中的 Client_ID 匹配的所有行。听起来很简单......即使我可以将我的新手头脑包裹起来......
DELETE dbName.t FROM
dbName.Transaction t
JOIN
dbName.Purchase p
ON
p.Transaction_ID = t.Transaction_ID
JOIN
dbName.Item i
ON
p.Item_ID = i.Item_ID
WHERE
Client_ID = 1
没有...
我收到此错误foreign key constraint fails...
- 我相信你们中的许多人并不感到惊讶。
购买使用 t.Transaction_ID 的问题是什么?- (因此,这个外键会失败)
或者此表中可能还有其他 t.Transaction_ID 相关数据(我还没有找到)。
编辑:COMPLETE ERROR
Cannot delete or update a parent row: a foreign key constraint fails
(`ItemTracker_dbo/Purchase`, CONSTRAINT `FK_Purchase_Transaction`
FOREIGN KEY (`Transaction_ID`) REFERENCES `Transaction` (`Transaction_ID`)
ON DELETE NO ACTION ON UPDATE CASCADE)