访问mysql中的最后一个插入行

cli*_*int 10 mysql sql insert

在我的数据库服务器上,我将数据插入一个自动增量字段为'id'的表中.现在我想在后续步骤中使用最后插入的'id'的值.我可以用这个: -

  select * from table_name order by id desc limit 1; 
Run Code Online (Sandbox Code Playgroud)

但这里的问题是,它是一个服务器,可能会发生更多的插入,可能有一种情况,我试图用我提到的查询检索数据,并得到一个不同的ID即.在我的插入和选择之间可能有一些其他插入,我不会得到我插入的值.可以解决这个问题的任何方式.

提前致谢.

chh*_*eed 7

用这个

mysql_insert_id(&mysql);  
Run Code Online (Sandbox Code Playgroud)

作为其基本结构

mysql_insert_id ([ resource $link_identifier = NULL ] )
Run Code Online (Sandbox Code Playgroud)

通过上一个查询(通常是INSERT)检索为AUTO_INCREMENT列生成的ID.

或者在mysql中使用

   SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)

这是ref链接

http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

http://php.net/manual/en/function.mysql-insert-id.php


Per*_*ror 5

尝试这个

SELECT LAST_INSERT_ID(colid) From tablename;
Run Code Online (Sandbox Code Playgroud)

这是链接