본문 바로가기
MySql

MySQL 특정 테이블에서 마지막으로 삽입 된 ID

by 베이스 공부 2021. 2. 1.
반응형
SELECT LAST_INSERT_ID() as id FROM table1

이 쿼리가 때때로 table1이 아닌 다른 테이블의 마지막 삽입 된 ID를 반환하는 이유는 무엇입니까? Node.js (db-mysql 플러그인)에서 호출하고 쿼리 만 할 수 있습니다.

 

해결 방법

 

LAST_INSERT_ID () 는 가장 최근에 자동 생성 된 ID 전체 데이터베이스 연결 ID 만 알려줍니다. , 각 개별 테이블이 아닙니다. 따라서 쿼리가 테이블을 지정하지 않고 SELECT LAST_INSERT_ID () 만 읽어야합니다.
해당 연결에서 다른 INSERT 쿼리를 실행하자마자 덮어 씁니다. 어떤 테이블에 삽입 할 때 생성 된 ID 를 원하면 그 직후에 SELECT LAST_INSERT_ID () 를 실행 해야합니다 (또는 일부 API 사용 당신을 위해 이것을하는 기능).

현재 임의의 테이블에서 최신 ID 를 원하면 해당 테이블에서 SELECT MAX (id) 를 수행해야합니다. 여기서 id ID 열의 이름입니다. 그러나 행이 삭제 된 경우 가장 최근에 생성 된 ID 일 필요는 없으며, 다른 연결이 INSERT <를 수행 할 수있는 경우 연결에서 생성 된 것이 아닐 수도 있습니다. / code> 자신의 INSERT 와 선택한 ID 사이.

(레코드의 경우 쿼리는 실제로 해당 데이터베이스 연결에서 가장 최근에 생성 된 ID를 포함하는 N 개의 행을 반환합니다. 여기서 N은 table1 의 행 수입니다.)

 

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

 

 

반응형

댓글