如何知道 mysql 中的下一个自增 ID 是什么?
How to know what would be the next auto increment id in mysql?
假设我有这样一个 table:
----Id-------Data---
| 1 | Data1 |
--------------------
| 2 | Data2 |
--------------------
| 3 | Data3 |
--------------------
如果我运行这个查询
SELECT MAX(id) FROM table
它将显示结果 3 如果我用 1 递增它,通常这将是下一个自动递增的 id。
如果我删除记录 ,其中 id 是 3,然后当我 运行 这个查询再次意味着
SELECT MAX(id) FROM table
它将显示 2,如果我用 1 增加它,那么它将是 3.现在,如果我插入一条新记录,自动递增 ID 将为 4.
现在我的问题是如何知道下一个准确的自动增量 ID 是什么?
要知道下一个自动增加的值,您必须使用 information_schema.TABLES table。
试试这个:
SELECT T.AUTO_INCREMENT
FROM information_schema.TABLES T
WHERE T.TABLE_SCHEMA = 'YourDBName'
AND T.TABLE_NAME = 'YourTableName';
使用LAST_INSERTED_ID
作为
SELECT LAST_INSERT_ID()
;
假设我有这样一个 table:
----Id-------Data---
| 1 | Data1 |
--------------------
| 2 | Data2 |
--------------------
| 3 | Data3 |
--------------------
如果我运行这个查询
SELECT MAX(id) FROM table
它将显示结果 3 如果我用 1 递增它,通常这将是下一个自动递增的 id。
如果我删除记录 ,其中 id 是 3,然后当我 运行 这个查询再次意味着
SELECT MAX(id) FROM table
它将显示 2,如果我用 1 增加它,那么它将是 3.现在,如果我插入一条新记录,自动递增 ID 将为 4.
现在我的问题是如何知道下一个准确的自动增量 ID 是什么?
要知道下一个自动增加的值,您必须使用 information_schema.TABLES table。
试试这个:
SELECT T.AUTO_INCREMENT
FROM information_schema.TABLES T
WHERE T.TABLE_SCHEMA = 'YourDBName'
AND T.TABLE_NAME = 'YourTableName';
使用LAST_INSERTED_ID
作为
SELECT LAST_INSERT_ID()
;