上次更新的Mysql中的行ID

时间:2013-03-19 05:33:46

标签: mysql

目前我正在处理一个项目。我需要找到最后更新的id。如何在mysql中获取最后更新的行ID?有人帮忙吗?

2 个答案:

答案 0 :(得分:4)

当生成新的AUTO_INCREMENT值时,您还可以通过执行带有SELECT LAST_INSERT_ID()的{​​{1}}语句并从语句返回的结果集中检索值来获取它。

对于mysql_query(),最近生成的ID是基于每个连接在服务器中维护的。它不会被其他客户更改。如果使用非可疑值更新另一个LAST_INSERT_ID()列(即,非NULL且不为0的值),则甚至不会更改它。同时从多个客户端使用AUTO_INCREMENTLAST_INSERT_ID()列完全有效。每个客户端将收到客户端执行的最后一个语句的最后插入的ID。

Read more here

答案 1 :(得分:2)

首先,编辑您的表,以便在修改行时自动跟踪。如果您只想知道最初插入行的时间,请删除最后一行。

ALTER TABLE mytable
ADD lastmodified TIMESTAMP 
    DEFAULT CURRENT_TIMESTAMP 
    ON UPDATE CURRENT_TIMESTAMP;

然后,要找出最后更新的行,您可以使用此代码。

SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;