正如标题所解释的,我想从两个不同的表中删除行。
如果是这种情况,我想删除所有的用户 UHL_HotelId
等于 cus_DVndBgfwSVaZhe
.
___用户表
|--------|
| USR_Id |
|--------|
| 100 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
|--------|
___用户快照链接
|--------|------------|--------------------|
| UHL_Id | UHL_UserId | UHL_HotelId |
|--------|------------|--------------------|
| 1 | 100 | cus_DVndBgfwSVaZhe |
| 2 | 101 | cus_DVndBgfwSVaZhe |
| 3 | 102 | cus_DVndBgfwSVaZhe |
| 4 | 103 | cus_DVndBgfwSVaZhe |
| 5 | 104 | cus_DVndBgfwSVaZhe |
| 5 | 105 | cus_DVndBgfwSVaZhe |
| 6 | 106 | cus_GHbnGhGgu3lbnw |
| 7 | 107 | cus_GHbnGhGgu3lbnw |
|--------|------------|--------------------|
我的尝试如下:
DELETE a.*, b.*
FROM ___Users a
JOIN ___UsersHotelsLink b
ON b.UHL_UserId = a.USR_Id
WHERE a.UHL_HotelId = 'cus_DVndBgfwSVaZhe';
为什么我的查询不起作用?
1条答案
按热度按时间7fhtutme1#
假设可以使用的两个表之间有外键关系
它“允许您在从父表中删除数据时自动从子表中删除数据”
http://www.mysqltutorial.org/mysql-on-delete-cascade/