Mysql ERROR 1093 에러

Yebali·2020년 11월 26일
0

약간의_Mysql

목록 보기
1/6
post-custom-banner

ERROR 1093 란?

Mysql에서 UPDATE나 DELETE 쿼리를 실행할 때,
자기 자신(테이블)의 데이터를 바로 사용하지 못하기 때문에 발생하는 에러.

실행이 불가한 예

#id가 중복된 레코드를 삭제하는 쿼리 
DELETE FROM myDB.myTable
WHERE id IN (SELECT id FROM myDB.myTable GROUP BY uid HAVING COUNT(id)>1);

해결 방법

쿼리 중간에 임시 테이블을 만들어 해결한다.

SELECT FROM myDB.myTable
where id IN 
	(SELECT A.id FROM (SELECT uid FROM myDB.myTable GROUP BY id HAVING COUNT(uid) > 1) A);
profile
머리에 다 안들어가서 글로 적는 중

0개의 댓글