【发布时间】:2013-08-13 16:13:12
【问题描述】:
我正在使用 MySQL。 我想在不输入新记录的情况下检索 AUTO_INCREMENT 列将采用的下一个值。
create table ABC(id int(10) NOT NULL AUTO_INCREMENT,name char(10));
在 oracle 中我会使用 sequencename.nextval(); 但是我在 MySQL 中使用什么?
这就是我不使用
的原因select max(id) from ABC;
假设我有一个 id=2 的条目。现在列 id 将下一个值设为 3。 在我创建 id=3 的记录之前,如果我删除了 id=2 的记录。 我提到的查询的答案是 2。但我想要实际值 3,auto_increment 列无论如何都会采用。
【问题讨论】:
-
两者都不是。我想收到一个值。但是这些答案打印了描述。不是可检索的值
-
使用此代码:
SELECT (IFNULL(max(id),0) + 1 ) as id from table。如果表中没有记录,IFNULL 会很有帮助
标签: mysql auto-increment next