mysql insert get id / [MySQL] 取得新增記錄的ID
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。