====== MySQL INSERT_SELECT_Statement ====== * description : MySQL INSERT_SELECT_Statement * author : 오션 * email : shlim@repia.com * lastupdate : 2022-11-30 Wed \\ ===== MySQL 5.6 Reference Manual ===== \\ ==== INSERT Statement ===== \\ === INSERT ...SELECT Statement === The target table of the INSERT statement may appear in the FROM clause of the SELECT part of the query.\\ However, you cannot insert into a table and select from the same table in a subquery.\\ \\ ''**INSERT 구분의 타겟 테이블은 쿼리의 SELECT 부분의 FROM 절에서 나타날수도 있습니다.**''\\ ''**그러나, 서브쿼리에서는 동일한 테이블에서 SELECT하여 INSERT할 수 없습니다.**''\\ \\ To avoid ambiguous column reference problems when the SELECT and the INSERT refer to the same table,\\ provide a unique alias for each table used in the SELECT part, and qualify column names in that part with the appropriate alias.\\ \\ ''**SELECT와 INSERT가 동일한 테이블을 참조할 때, 모호한 컬럼 참조 문제를 방지하기 위해,**''\\ ''**SELECT 부분에서 사용되는 각 테이블에 대한 유일한 에일리어스(alias, 별칭)를 제공하고, 해당 에일리어스로 컬럼 이름을 한정하세요.**''\\ \\ %%<수정 전>%% 오류 발생(java.sql.exception:Invalid use of group function)\\ INSERT INTO CHECKLIST (CHECKLIST_ORDER, CHECKLIST_TITLE, CHECKLIST_ITEMS) VALUES ( (SELECT MAX(CHECKLIST_ORDER) FROM CHECKLIST) + 1 , '[Test] 홍길동 프로젝트' , '#탐라국' ); \\ %%<수정 후>%%\\ INSERT INTO CHECKLIST (CHECKLIST_ORDER, CHECKLIST_TITLE, CHECKLIST_ITEMS) VALUES ( (SELECT MAX(C.CHECKLIST_ORDER) FROM CHECKLIST C) + 1 , '[Test] 홍길동 프로젝트' , '#탐라국' ); ===== Ref Link ===== [[https://dev.mysql.com/doc/refman/5.6/en/insert-select.html|13.2.5.1 INSERT...SELECT Statement]]\\ [[https://soobindeveloper8.tistory.com/572|[MYSQL] INSERT MAX + 1]]\\ {{tag>오션, MySQL INSERT_SELECT_Statement MAX}}