카테고리 없음

<IT_MYSQL> MySQL Error 1093 - Can't specify target table for update in FROM clause

달남 2019. 11. 29. 17:05

Mysql 은 in 절을 이용해서 삭제시 select 로 한 번 더 감싸줘야한다.

delete from elecbox.ebox_m 
where seq in 
	(
	SELECT 
	 seq
	FROM elecbox.ebox_m e 
	where 1=1
	and id = '6D4AA53AC668'
	and ctdt <= timestamp('20191128235959') 
	and ctdt >= timestamp('20191128') -- 기본은 00시 00분 00 초를 넣어준다.
)
	;

아래와 같이 사용한다.

delete from elecbox.ebox_m 
where seq in 
	(
SELECT 
	 seq from (
	SELECT 
	 seq
	FROM elecbox.ebox_m e 
	where 1=1
	and id = '6D4AA53AC668'
	and ctdt <= timestamp('20191128235959') 
	and ctdt >= timestamp('20191128') -- 기본은 00시 00분 00 초를 넣어준다.
	) as c
)
	;