如何从共享相关信息的两个表中删除记录?

时间:2015-03-26 22:40:37

标签: mysql sql

我需要创建一个删除查询,删除以下两个数据库表中的数据。

**User_List**
- id
- user_id
- name

**User_Items**
- id
- user_list_id
- item name

我想要发生的是......首先,它找到user_id值为1的所有User_List记录。然后,它删除所有user_list_id的user_list,该user_list_id与前一个语句的结果的id匹配。然后,一旦删除了符合条件的所有User_Items,我也想删除所有User_List元素。

我确信有一种方法可以通过一个查询完成所有这些操作,但我不知道怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用LEFT JOIN

 DELETE ul, ui
 FROM User_List ul
 LEFT JOIN User_Items ui ON ul.user_id = ui.user_list_id
 WHERE ul.user_id = 1