3

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

4

2 回答 2

5

生成新AUTO_INCREMENT值后,您还可以通过执行一条SELECT LAST_INSERT_ID()语句来获取它,mysql_query()并从该语句返回的结果集中检索该值。

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

在这里阅读更多

于 2013-03-19T05:37:09.753 回答
2

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

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

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

SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;
于 2013-03-19T05:39:05.720 回答