programing

현재 삽입 ID를 한 SQL 요청의 다른 열의 필드 값으로 사용

javajsp 2023. 8. 7. 22:21

현재 삽입 ID를 한 SQL 요청의 다른 열의 필드 값으로 사용

단 한 번의 SQL 요청으로 다음을 수행할 예정입니다.

INSERT INTO TABLE1 (col2,col3,col4) VALUES('a','b',current_insert_id());

그러나 current_insert_id()가 구현되지 않은 것 같습니다.

시도 횟수:

INSERT INTO TABLE1 (col2, col3, col4) VALUES('a','b',last_insert_id());

마지막 필드에서 0을 줍니다.

INSERT INTO TABLE1 (col2, col3, col4) VALUES('a','b','dummy_value');
UPDATE TABLE1 SET col4=LAST_INSERT_ID() WHERE ID=LAST_INSERT_ID();

하지만 이것은 2개의 쿼리를 사용합니다.

한 가지 방법은 다음과 같습니다.

INSERT INTO TABLE1 
    (col2,col3,col4)
VALUES
    (
      'a',
      'b',
      (
        SELECT AUTO_INCREMENT 
        FROM information_schema.TABLES 
        WHERE TABLE_SCHEMA = "YOUR_DB_NAME" 
        AND TABLE_NAME = "TABLE1"
      )
    );

하지만 생산에서는 하지 마세요.좋지 않아요 :)

언급URL : https://stackoverflow.com/questions/53112150/use-the-current-insert-id-as-a-field-value-of-another-column-in-one-sql-request