我在 MSSQL 中使用此代码:
SELECT IDENT_CURRENT('customers');
当我在 MySQL 中尝试它时它不起作用。我在网上寻找答案,但找不到任何对我有用的东西。上述 TSQL 的 MySQL 等价物是什么?
我在 MSSQL 中使用此代码:
SELECT IDENT_CURRENT('customers');
当我在 MySQL 中尝试它时它不起作用。我在网上寻找答案,但找不到任何对我有用的东西。上述 TSQL 的 MySQL 等价物是什么?
我想你正在寻找这个:
SELECT LAST_INSERT_ID('customers');
但LAST_INSERT_ID()
并非在所有情况下都是如此,所以更好地使用:
SELECT MAX('id') FROM customers;
在 MySQL 中,您可以使用LAST_INSERT_ID(expr)
我不知道你是否仍然需要它,但它可能会对某人有所帮助。:)
我遇到了同样的问题,需要从我的表中获取下一个 id(auto_increment 编号),而无需添加新行且不使用 MAX() 或 LAST_INSERT_ID(),因为它只会返回最后一个可见记录而不是真实记录下一个自动增量。
我找到的解决方案是从 table_schema 中获取 auto_increment,如下所示:
SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE (TABLE_NAME = 'your_table')
希望它可以帮助某人,就像它帮助了我一样。*对不起英语不好,我来自巴西。
SELECT LAST_INSERT_ID();
To learn more about this function: http://dev.mysql.com/doc/refman/5.6/en/information-functions.html#function_last-insert-id
In order for this to work as intended, the 'ID' column must be set to "UNIQUE".
如果您使用某种身份(递增 ID)列,则以下内容应该有效;
Select top 1 ID from TBLNAME
order by ID DESC