db
-
[MySQL] You can't specify target table '테이블 명' for update in FROM clause.기타/오류 모음 2020. 11. 20. 10:00
1. 오류 배경 & 내용 UPDATE의 WHERE절에 서브쿼리를 넣어 해당 결과 값을 갖는 것만 업데이트를 하려는데 SQL 1093 에러가 등장했다. 사용한 쿼리문(테이블 명과 컬럼 명은 다르게 수정했다)과 에러 내용은 아래와 같다. UPDATE TB_A SET NAME = '강동원' WHERE ID IN ( SELECT B.ID FROM TB_B AS B INNER JOIN TB_A AS A ON A.ID = B.ID WHERE A.AGE > 20 ) SQL Error [1093] [HY000]: You can't specify target table '테이블 명' for update in FROM clause 2. 해결 방법 MySQL은 UPDATE시 자기 테이블의 값을 바로 사용 못 한다. 따라서!..