반응형
MySQL에 두 개의 테이블이 있습니다.
#messages table :
messageid
messagetitle
.
.
#usersmessages table
usersmessageid
messageid
userid
.
.
이제 메시지 테이블에서 삭제하려면 괜찮습니다. 그러나 메시지 ID로 메시지를 삭제하면 사용자 메시지에 레코드가 여전히 존재하며이 두 테이블에서 한 번에 삭제해야합니다.
다음 쿼리를 사용했습니다.
DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ;
그런 다음 테스트
DELETE FROM messages , usersmessages
WHERE messages.messageid = usersmessages.messageid
and messageid='1' ;
그러나이 두 쿼리는이 작업을 수행하지 않습니다.
해결 방법
세미콜론으로 구분할 수 없습니까?
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'
참조 페이지 https://stackoverflow.com/questions/1233451
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터베이스 이름 바꾸기 (0) | 2021.01.31 |
---|---|
MySQL SQL 열에서 가장 빈번한 값 찾기 (0) | 2021.01.30 |
MySQL 다른 테이블의 몇 개의 열을 기반으로 테이블을 만들고 일부 추가 열을 추가합니다. (0) | 2021.01.30 |
MySQL mysql의 읽기 전용 테이블 (0) | 2021.01.30 |
MySQL VB6 (10060)을 사용하여 원격 MySQL에 연결할 수 없음 (0) | 2021.01.30 |
댓글