하나의 쿼리로 두 테이블에서 삭제
P粉401901266
2023-08-27 13:45:48
<p>MySQL에 두 개의 테이블이 있습니다</p>
<pre class="brush:php;toolbar:false;">#messages 테이블:
메시지 ID
메시지 제목
.
.
#usersmessages 테이블
사용자 메시지 ID
메시지 ID
사용자 ID
.
.</pre>
<p>이제 메시지 테이블에서 삭제할 수 있습니다. 하지만 messageid로 메시지를 삭제하면 usersmessage에 기록이 여전히 남아 있으므로 두 테이블 모두에서 즉시 삭제해야 합니다. </p>
<p>저는 다음 검색어를 사용했습니다: </p>
<pre class="brush:php;toolbar:false;">메시지에서 삭제 LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ;</pre>
<p>그럼 테스트해보겠습니다</p>
<pre class="brush:php;toolbar:false;">메시지에서 삭제, 사용자 메시지
WHERE message.messageid = usersmessages.messageid
그리고 messageid='1' ;</pre>
<p>그러나 이 두 쿼리는 이 작업을 수행하지 못했습니다. </p>
으아악
번역: messageid = 1인 messages 테이블에서 삭제하고, uersmessages 테이블에 messageid = 테이블 messages의 messageid가 있는 경우 user message 테이블 행을 삭제합니다.
세미콜론으로 구분할 수는 없나요?
으아악또는
아래와 같이
으아악INNER JOIN
를 사용하세요