目前我正在处理一个项目。我需要查找最后更新的 id。如何在 mysql 中获取最后更新的行 ID?请任何人帮忙吗?
问问题
19870 次
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 回答