我考虑了谷歌的顶级结果,几乎所有的功能mysql等…不幸的是,据我所知,如果不向数据库的表中添加新行,我们就无法知道下一个主键。请告诉我,我错了。这个问题怎么可能没有解决办法呢?我很失望。
花了大约7秒在Google上找到:https://www.bram.us/2008/07/30/mysql-get-next-auto_increment-value-fromfor-table/
SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "databaseName"
AND TABLE_NAME = "tableName"
值出现在INFORMATION_SCHEMA.TABLES
中(见这里)。在合理的假设下,您可以在这里获得值。
合理的假设:
- 不改变影响自动增量的系统变量。
- 没有并发事务。
- 没有中间重置值。
通过这个请求,您可以获得表中最后一个id
SELECT MAX(id) FROM your_table