在一個查詢中從兩個表中刪除
P粉401901266
P粉401901266 2023-08-27 13:45:48
0
2
482
<p>我在 MySQL 中有兩個表</p> <pre class="brush:php;toolbar:false;">#messages table : messageid messagetitle . . #usersmessages table usersmessageid messageid userid . .</pre> <p>現在如果我想從訊息表中刪除就可以了。但是當我透過 messageid 刪除訊息時,記錄仍然存在於 usersmessage 上,我必須立即從這兩個表中刪除。 </p> <p>我使用了以下查詢:</p> <pre class="brush:php;toolbar:false;">DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ;</pre> <p>然後我測試</p> <pre class="brush:php;toolbar:false;">DELETE FROM messages , usersmessages WHERE messages.messageid = usersmessages.messageid and messageid='1' ;</pre> <p>但是這兩個查詢沒有完成這個任務。 </p>
P粉401901266
P粉401901266

全部回覆(2)
P粉164942791
DELETE a.*, b.* 
FROM messages a 
LEFT JOIN usersmessages b 
ON b.messageid = a.messageid 
WHERE a.messageid = 1

翻譯:從表格messages中刪除,其中messageid = 1,如果表格uersmessages有messageid =表messages的messageid,則刪除該行用戶訊息表。

P粉595605759

不能用分號分隔它們嗎?

Delete from messages where messageid = '1';
Delete from usersmessages where messageid = '1'

只需使用INNER JOIN,如下所示

DELETE messages , usersmessages  FROM messages  INNER JOIN usersmessages  
WHERE messages.messageid= usersmessages.messageid and messages.messageid = '1'
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板