본문 바로가기
MySql

MySQL LAST_INSERT_ID() MySQL

by 베이스 공부 2020. 11. 5.
반응형

꽤 쉬울 것이라고 생각하는 MySQL 질문이 있습니다. 다음 MySql 쿼리를 실행할 때 table1에서 LAST INSERTED ID를 반환해야합니다.

INSERT INTO table1 (title,userid) VALUES ('test',1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(),4,1);
SELECT LAST_INSERT_ID();

현재 코드가 table1 대신 table2의 LAST INSERT ID를 반환한다는 것을 이해할 수 있듯이 table2 사이에 삽입하더라도 table1에서 ID를 어떻게 얻을 수 있습니까?

 

해결 방법

 

마지막 삽입 ID를 변수에 저장할 수 있습니다.

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
SET @last_id_in_table1 = LAST_INSERT_ID();
INSERT INTO table2 (parentid,otherid,userid) VALUES (@last_id_in_table1, 4, 1);    

또는 표 1에서 최대 ID를 가져옵니다.

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1); 
SELECT MAX(id) FROM table1;   

 

참조 페이지 https://stackoverflow.com/questions/3837990

 

 

반응형

댓글