检索下一个可用的自动编号

时间:2012-03-04 12:28:09

标签: java sql ms-access sequences

我正在忙于一个学校项目,我根据客户端的服务器查询数据库。其中一个要求是从数据库中检索下一个可用的AutoNumber

SQL查询将检索下一个可用的Autonumber是什么?有可能这样做吗?

4 个答案:

答案 0 :(得分:2)

下一个自动编号与上一个自动编号+1不同。如果记录已被删除,则下一个可能的自动编号可能远远高于最后一个编号。使用MS Access也可以获得负自动编号。如Allen Browne所示,您可以使用ADOX获取自动编号列的种子属性,这是下一个自动编号。

答案 1 :(得分:1)

如果是Oracle,则使用JDBC

运行以下查询
SELECT YOUR_SEQUENCE.NEXTVAL FROM DUAL

答案 2 :(得分:1)

这取决于RDBMS的风格。 MariaDB(MySQL)具有LAST_INSERT_ID()函数,该函数为您提供AUTO_INCREMENT字段的最后一个值。

支持序列的数据库(比如Ingres)允许您使用以下内容获取下一个值:

SELECT NEXT VALUE FOR some_sequence;

SELECT some_sequence.NEXTVAL;

答案 3 :(得分:1)

最佳解决方案是插入记录,然后获取生成的密钥,然后回滚事务。 它适用于所有具有事务和自动编号支持的数据库。