MySQL查询MYSQL自增字段的下一个序列号

css*_*hus 4 mysql

在 MySQL 中,是否可以按顺序查询下一个数字以获取自动递增字段?

对于名为 projects 的表,该表的主键project_id是一个自动递增字段。在插入新行之前,我想知道将分配给 project_id 的编号。

我该如何查询?

css*_*hus 5

里德是对的。这个问题似乎是Find the next available id in MySQL的重复

在该线程中,用户Eimantas提供了我使用的工作解决方案。为方便起见,转载于此:

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

荣誉对eggyal和GavinTowey在这个线程,虽然,他们的方向。

建议未来的读者注意 Gavin 关于竞争条件的评论(对 Eggyal 的回答)(即:另一个 DB 条目在您之前的一瞬间发生并“窃取”您认为会获得的 ID)。

强烈建议使用eggyal 描述的 LAST_INSERT_ID() 而不是本答案中描述的方法。

我鼓励未来的读者投票支持eggyal 的答案,因为这是一种更好的方法,但我希望不要再对这个答案进行投票。由于这是问题特别提出的问题,因此这是“正确”的答案-尽管有eggyals的反对票。我相信没有难受的感觉;如您所知,选择我自己的答案作为正确答案不会给我带来任何好处。