mysql insert get id / [MySQL] 取得新增記錄的ID


資料來源: https://stackoverflow.com/questions/17112852/get-the-new-record-primary-key-id-from-mysql-insert-query

http://n.sfs.tw/mymedia/index/10226


Code

INSERT INTO table_name (col1, col2,...) VALUES ('val1', 'val2'...);
SELECT LAST_INSERT_ID();


在Mysql中,如果有一個欄位是自動編號(有AUTO_INCREMENT 屬性的欄位)

每次INSERT INTO後

使用 SELECT LAST_INSERT_ID() 的 SQL 語法就可以取回方纔新增記錄的ID流水號。

這個 SQL 是有綁定session,當多人同時在寫入時,還是能正確取回寫入的那一筆 ID,不會因為有多人同時寫入取回別人的ID

SELECT LAST_INSERT_ID();


注意:

1. 取回的是 AUTO_INCREMENT 屬性的那一欄,如果沒有任何欄位有這個屬性,取回的結果會是 0

2. 若沒有操作過 INSERT INTO,取回的結果會是0

3. phpmyadmin的操作中,需要一次完成才能正確取回資料,新增後再下指令結果會是0。

相關文章