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';
'Databases' 카테고리의 다른 글
mariaDB-MySQL 데이터베이스 전체 스키마출력 (0) | 2020.05.05 |
---|---|
MySQL-MariaDB 테이블정의서 출력 (0) | 2020.05.05 |
MySQL 테이블 복사 (0) | 2018.04.30 |
mysql 데이터 치환하기 (REPLACE) (0) | 2018.04.10 |
MySQL 테이블 복사하기 (다른 DB) (0) | 2018.03.14 |