我在MSSQL中使用此代码:
SELECT IDENT_CURRENT('customers');
当我在MySQL中尝试它时,它不起作用。我在网上寻找答案,但我找不到任何对我有用的东西。什么是上述TSQL的MySQL等价物?
答案 0 :(得分:4)
我认为你正在寻找这个:
SELECT LAST_INSERT_ID('customers');
但LAST_INSERT_ID()
并非在所有情况下都是真的,所以最好使用:
SELECT MAX('id') FROM customers;
答案 1 :(得分:3)
LAST_INSERT_ID(expr)
答案 2 :(得分:0)
我不知道你是否还需要它,但它可能对某人有帮助。 :)
我遇到了同样的问题,需要从我的表中获取下一个id(auto_increment number)而不必添加新行而不使用MAX()或LAST_INSERT_ID()因为它只会返回最后一个可见记录不是真正的下一个auto_increment。
我找到的解决方案是从table_schema获取auto_increment,如下所示:
SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE (TABLE_NAME = 'your_table')
希望它可以帮助某人,就像它帮助了我一样。 *对不起英语不好,我来自巴西。
答案 3 :(得分:0)
SELECT LAST_INSERT_ID();
要详细了解此功能:http://dev.mysql.com/doc/refman/5.6/en/information-functions.html#function_last-insert-id
为了使其按预期工作,“ID”列必须设置为“UNIQUE”。
答案 4 :(得分:-1)
如果您使用某种身份(递增ID)列,则以下内容应该有效;
Select top 1 ID from TBLNAME
order by ID DESC