DB
[MySQL] SQL 4 8 (1093): You can't specify target table 'T' for update in FROM clause
올라치노
2018. 6. 1. 11:15
MySQL로 다 데이터 update를 할려고 쿼리를 짰는데,
UPDATE 테이블 T
SET T.상태= '상태값'
WHERE 1 = 1
AND T.인덱스IN (
SELECT A.인덱스
FROM 테이블 A
WHERE 1 = 1
AND A.상태 = '상태값'
)
SQL 4 8 (1093): You can't specify target table 'T' for update in FROM clause
이런 오류를 만났다.
구글링 한 결과,
Sub Query에 별칭을 써라고 한다.
UPDATE 테이블 T
SET T.상태= '상태값'
WHERE 1 = 1
AND T.인덱스IN (
SELECT M.인덱스
FROM (
SELECT A.인덱스
FROM 테이블 A
WHERE 1 = 1
AND A.상태 = '상태값'
) M
)
저렇게 한 번 더 감싸줘라고 함...
오라클이 그립다.