본문 바로가기

개발중/MYSQL

[MYSQL] INSERT MAX + 1

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
반응형

'개발중 > MYSQL' 카테고리의 다른 글

Scala Subquery 와 Left Outer Join 의 성능차이  (2) 2022.03.25
SQL TimeStamp 함수  (0) 2021.10.18
insert key  (0) 2021.10.12
MY SQL 의 PRIMARY KEY 와 KEY 차이점.  (0) 2021.07.28
MYSQL 설치 삽질 기록  (0) 2021.07.04