我知道这里有十几个问题,但我有具体的问题,我没有解决
我有两张表user_bookmarks
和highlights
。
user_bookmarks
包含所有用户书签,highlights
包含特定书签的选定文字。
假设两个用户具有相同的书签,并且都做了一些高亮文本。
现在user_bookmarks
和highlight
表包含两行相同的bokkmark_id
。
如果一个用户删除该书签,则只会从两个表中删除一行。
我做了一些query
但没有成功。
这是我的查询
DELETE FROM user_bookmarks,highlights USING user_bookmarks
LEFT JOIN highlights ON user_bookmarks.bookmark_id =
highlights.bookmark_id WHERE user_bookmarks.`user_id` = 39
AND user_bookmarks.`bookmark_id`= 1556
答案 0 :(得分:1)
在我看来,根据您的逻辑(在评论中),您需要使用复合键user_id,bookmark_id
DELETE user_bookmarks,highlights FROM user_bookmarks
LEFT JOIN highlights ON
user_bookmarks.bookmark_id = highlights.bookmark_id and
user_bookmarks.user_id = highlights.user_id
WHERE user_bookmarks.user_id = 39
AND user_bookmarks.`bookmark_id`= 1556
从两个表中删除user_id = 39和bookmark_id = 1556的所有行中的行
从多个单元到删除行,将所有表格放入delete
部分