如何获得新插入的自动增量值?

时间:2014-04-24 21:17:29

标签: mysql

说一个带有PRIMARY KEY id的表格T,我将其设置为AUTO INCREMENT。

我需要为其他操作获取新的INSERTED id值,但是,因为它是唯一的PRIMARY KEY和AUTO INCREMENT,所以我不知道怎么做。

另一个包含WHERE中所有其他值的SELECT在理论上是有效的,但它太慢了。

有更好的想法吗?

4 个答案:

答案 0 :(得分:2)

你应该检查LAST_INSERT_ID()喜欢

吗?
select LAST_INSERT_ID();

答案 1 :(得分:0)

这不起作用吗?

select max(id) from T;

答案 2 :(得分:0)

这将生成没有函数的最后一个id

SELECT id FROM t ORDER BY id DESC LIMIT 1

顺便说一下..你应该从任何MySQL api

中获取插入语句之后的id

答案 3 :(得分:0)

这显然取决于您使用的数据库引擎。 如果像我想的那样,我们正在谈论MSSQL,一个好的做法是返回当前事务(或会话)中生成的最后一个id。您可以看到此post以获取更多信息。

无论如何,您可以计算最大ID,但如果有人在一段时间内进行新行,则可以保证。