[英]DELETE rows from multiple tables with JOIN in Mysql
我知道這里有數十個問題,但我有未解決的特定問題
我有兩個表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
我認為,根據您的邏輯(在注釋中),您需要使用合成鍵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
部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.