首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清理孤儿记录

问清理孤儿记录
EN

Database Administration用户
提问于 2015-06-19 21:12:48
回答 1查看 1.3K关注 0票数 2

我在MySQL中有两个表: orders和line items。

删除订单时,行项将成为孤立项。因此,我需要一个查询,该查询将在删除订单之前删除与订单关联的行项。

类似于:

代码语言:javascript
复制
 DELETE FROM line_items WHERE line_items_id NOT EXIST IN TABLE orders COLUMN orders_id

换句话说,行项行中引用的顺序id不存在,然后删除所讨论的行项。

(我知道.如果设计这个的人用外键和级联.但他们没有)。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-06-19 21:20:44

代码语言:javascript
复制
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)或类似的。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/104616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档