Databases
select 후 update 시 is specified twice, both as a target for 'UPDATE' and as a separate source for data
duraboys
2020. 6. 13. 16:18
is specified twice, both as a target for 'UPDATE' and as a separate source for data
특정 테이블에 내용을 조회해서 업데이트를 하고자 한다.
UPDATE Table_name
SET column_name = ( SELECT Table_name FROM column_name WHERE column_name = 'data')
where column_name = 'data';
이렇게 할 경우 다음과 가이 오류가 나온다.
쿼리의 오류 (1093): Table '테이블명' is specified twice, both as a target for 'UPDATE' and as a separate source for data
아래와 같이 별칭을 주어 회피처리 한다.
UPDATE Table_name
SET column_name = ( select * from (SELECT Table_name FROM column_name WHERE column_name = 'data' limit 1) t)
where column_name = 'data';