目前我正在处理一个项目。我需要找到最后更新的id。如何在mysql中获取最后更新的行ID?有人帮忙吗?
答案 0 :(得分:4)
当生成新的AUTO_INCREMENT
值时,您还可以通过执行带有SELECT LAST_INSERT_ID()
的{{1}}语句并从语句返回的结果集中检索值来获取它。
对于mysql_query()
,最近生成的ID是基于每个连接在服务器中维护的。它不会被其他客户更改。如果使用非可疑值更新另一个LAST_INSERT_ID()
列(即,非NULL且不为0的值),则甚至不会更改它。同时从多个客户端使用AUTO_INCREMENT
和LAST_INSERT_ID()
列完全有效。每个客户端将收到客户端执行的最后一个语句的最后插入的ID。
答案 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;