반응형
꽤 쉬울 것이라고 생각하는 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
반응형
'MySql' 카테고리의 다른 글
MySQL 동적 .htaccess 파일을 만들 수 있습니까? (0) | 2020.11.05 |
---|---|
MySQL 명령 줄을 사용하여 MySQL 저장 프로 시저 실행 (0) | 2020.11.05 |
MySQL MyISAM의 모든 테이블을 InnoDB로 변환하는 방법은 무엇입니까? (0) | 2020.11.05 |
MySQL SQL-하나의 쿼리로 여러 테이블에 삽입 (0) | 2020.11.04 |
MySQL에서 업데이트 날짜 + 1 년 (0) | 2020.11.04 |
댓글