【发布时间】:2014-03-26 16:30:18
【问题描述】:
我有多个表格保存有关用户和内容的信息。
Table users:
id name
5 foo
33 abc
Table imgs:
id uid img_name
1 5 bar
8 33 xy
Table user_permissions:
id uid permission_id
1 5 3
2 3 3
Table liked_content:
id contente_id content_holder_id likedby_id
1 8 33 5
2 1 5 56
如果一个用户被删除,我想删除所有表中与他的用户 ID 相关的所有行。如果我每张表只添加一列,这很好用。
DELETE users,
imgs,
user-permissions,
liked_content
FROM users,
imgs,
user-permissions,
liked_content
WHERE imgs.uid = users.id AND
user_permissions.uid = users.id AND
liked_content.content_holder_id = users.id AND
users.id = 5
在可以找到 id 的 WHERE 子句 (likedby_id/liked_content-table) 中添加第二行将不起作用。
...
WHERE imgs.uid = users.id AND
user_permissions.uid = users.id AND
liked_content.content_holder_id = users.id AND
liked_content.likedby_id = users.id AND
users.id = 5
向已列出的表的查询添加第二列的正确方法是什么?
【问题讨论】:
标签: mysql multiple-columns sql-delete multiple-tables