Mysql中的最后更新行ID

3

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


添加一个字段列日期,通常可以确定数据是否已更新... - Jhonathan H.
2个回答

5
当一个新的AUTO_INCREMENT值被生成后,你可以通过执行SELECT LAST_INSERT_ID()语句并从语句返回的结果集中检索该值来获取它。对于LAST_INSERT_ID(),最近生成的ID在服务器上按连接维护。它不会被其他客户端更改。即使您使用非魔术值(即非NULL且非0的值)更新另一个AUTO_INCREMENT列,它也不会更改。同时从多个客户端使用LAST_INSERT_ID()AUTO_INCREMENT列是完全有效的。每个客户端将接收该客户端执行的最后一条语句的最后插入ID。点击此处了解更多信息

2

首先,编辑您的表格,使其能够自动跟踪每当行被修改时的情况。如果您只想知道何时插入了一行,请删除最后一行。

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

然后,要查找最后更新的行,您可以使用此代码。
SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接