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。

相关文章