sql - 在 MySQL 中查找下一个可用的 id

标签 sql mysql

我必须在 MySQL 数据库中找到下一个可用的 id(如果数据库中有 5 个数据,我必须获得下一个可用的插入位置 6)。我怎样才能做到这一点? 我使用了 MAX(id),但是当我从数据库中删除一些行时,它仍然保留它没有更新的旧最大值。

最佳答案

2014 年 12 月 5 日更新

由于 Simon 的(已接受)答案以及 Diego 的评论中列出的原因,我不推荐这种方法。请自行承担使用以下查询的风险。


原答案

我在 MySQL 开发者网站上找到的最短的一个:

SELECT Auto_increment
FROM information_schema.tables
WHERE table_name='the_table_you_want'

请注意,如果您有几个具有相同表的数据库,您也应该指定数据库名称,如下所示:

SELECT Auto_increment
FROM information_schema.tables
WHERE table_name = 'the_table_you_want'
      AND table_schema = 'the_database_you_want';

关于sql - 在 MySQL 中查找下一个可用的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405393/

相关文章:

sql - 为什么对具有 blob 的表进行 Select SQL 查询很慢,即使未选择 blob 也是如此?

sql - 删除其他日期中包含的日期?

cmd - 给mysql传参数的方法

android - SignalR:从数据库向用户ID发送消息

mysql - 使用 Rails 3 (Lion 10.7) 安装 MySQL Gem

mysql - 多行更新导致唯一的 "Integrity constraint violation"

c# - 在 Entity Framework 中动态加载 SQL 表

java - 如何使用java在mysql中插入时间

php - 在本地主机上运行 Wordpress,希望使其在 Windows Server 2003 上运行

php - 使用数据表时,表中的记录计数无法正确显示