说一个带有PRIMARY KEY id
的表格T,我将其设置为AUTO INCREMENT。
我需要为其他操作获取新的INSERTED id值,但是,因为它是唯一的PRIMARY KEY和AUTO INCREMENT,所以我不知道怎么做。
另一个包含WHERE中所有其他值的SELECT在理论上是有效的,但它太慢了。
有更好的想法吗?
答案 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,但如果有人在一段时间内进行新行,则可以保证。