1. ホーム
  2. sql

[解決済み] 1つのクエリで2つのテーブルから削除する

2022-03-02 21:56:12

質問

MySQLに2つのテーブルがあります。

#messages table  : 
messageid
messagetitle 
.
.

#usersmessages table 
usersmessageid 
messageid
userid
.
.

今、私がメッセージテーブルから削除したい場合は、それは大丈夫です。しかし、私はmessageidでメッセージを削除すると、レコードはまだusersmessageに存在し、私は一度にこの2つのテーブルから削除する必要があります。

私は次のクエリを使用しました。

DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ; 

そして、次のようにテストします。

   DELETE FROM messages , usersmessages 
   WHERE messages.messageid = usersmessages.messageid 
   and messageid='1' ; 

しかし、これらの2つのクエリは、このタスクを達成していません。

どうすればいいですか?

セミコロンで区切ることはできないのですか?

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'