我在MySQL中有两个表: orders和line items。
删除订单时,行项将成为孤立项。因此,我需要一个查询,该查询将在删除订单之前删除与订单关联的行项。
类似于:
DELETE FROM line_items WHERE line_items_id NOT EXIST IN TABLE orders COLUMN orders_id换句话说,行项行中引用的顺序id不存在,然后删除所讨论的行项。
(我知道.如果设计这个的人用外键和级联.但他们没有)。
发布于 2015-06-19 21:20:44
DELETE FROM Line_Items
WHERE Line_Items.Order_Number -- this should be an ON DELETE CASCADE FK.
NOT IN
(
SELECT id
FROM Orders
); -- not tested, don't have running system, but this or similar should work.注意:不要调用一个表“订单”-使调试困难和系统不可移植。就我个人而言,我反对对表使用复数名称--我通常称它为System_Order (或Shop_Order)或类似的。
https://dba.stackexchange.com/questions/104616
复制相似问题