개발중/MYSQL

[MYSQL] INSERT MAX + 1

Binsoo 2021. 10. 12. 14:33
728x90
반응형

mysql은 oracle과는 달리 서브쿼리의 from절과 업데이트 target 모두를 

같은 테이블로 사용할 수 없다는 룰이 존재한다.

 

아래처럼 TABLE AS 사용시 가능해 o(* ̄▽ ̄*)ブ


잘된 예

 

INSERT INTO NEO.DEVEL_ADVANCED_CATEGORY (
  , ac_category
 ) VALUES (
   (SELECT IFNULL(MAX(T.ac_group), 0) + 1 FROM DEVEL_ADVANCED_CATEGORY T )
 )

 

 

❌ 에러 예


INSERT INTO NEO.DEVEL_ADVANCED_CATEGORY (
  , ac_category
 ) VALUES (
   (SELECT IFNULL(MAX(ac_group), 0) + 1 FROM DEVEL_ADVANCED_CATEGORY )
 )


 

728x90
반응형