使用mysql从两个差异表中删除行

7y4bm7vi  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(334)

正如标题所解释的,我想从两个不同的表中删除行。
如果是这种情况,我想删除所有的用户 UHL_HotelId 等于 cus_DVndBgfwSVaZhe .
___用户表

  1. |--------|
  2. | USR_Id |
  3. |--------|
  4. | 100 |
  5. | 102 |
  6. | 103 |
  7. | 104 |
  8. | 105 |
  9. | 106 |
  10. | 107 |
  11. |--------|

___用户快照链接

  1. |--------|------------|--------------------|
  2. | UHL_Id | UHL_UserId | UHL_HotelId |
  3. |--------|------------|--------------------|
  4. | 1 | 100 | cus_DVndBgfwSVaZhe |
  5. | 2 | 101 | cus_DVndBgfwSVaZhe |
  6. | 3 | 102 | cus_DVndBgfwSVaZhe |
  7. | 4 | 103 | cus_DVndBgfwSVaZhe |
  8. | 5 | 104 | cus_DVndBgfwSVaZhe |
  9. | 5 | 105 | cus_DVndBgfwSVaZhe |
  10. | 6 | 106 | cus_GHbnGhGgu3lbnw |
  11. | 7 | 107 | cus_GHbnGhGgu3lbnw |
  12. |--------|------------|--------------------|

我的尝试如下:

  1. DELETE a.*, b.*
  2. FROM ___Users a
  3. JOIN ___UsersHotelsLink b
  4. ON b.UHL_UserId = a.USR_Id
  5. WHERE a.UHL_HotelId = 'cus_DVndBgfwSVaZhe';

为什么我的查询不起作用?

7fhtutme

7fhtutme1#

假设可以使用的两个表之间有外键关系

  1. ON DELETE CASCADE

它“允许您在从父表中删除数据时自动从子表中删除数据”
http://www.mysqltutorial.org/mysql-on-delete-cascade/

相关问题