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
'MySql' 카테고리의 다른 글
MySQL PHP 확인 MySQL 마지막 행 (0) | 2021.02.01 |
---|---|
MySQL 및 Hibernate3 주석을 사용하는 <generator class = "native"> </ generator>에 해당 (0) | 2021.02.01 |
MySQL mysql 결합 된 고유 키 (0) | 2021.02.01 |
MySQL에서 마지막 N 개 행 선택 (0) | 2021.01.31 |
MySQL Linux 명령 줄을 통해 SphinxQL에 연결 (0) | 2021.01.31 |
댓글