Xpe*_*z X 8 mysql auto-increment next
我正在使用MySQL.我想在不输入新记录的情况下检索AUTO_INCREMENT列将采用的下一个值.
create table ABC(id int(10) NOT NULL AUTO_INCREMENT,name char(10));
Run Code Online (Sandbox Code Playgroud)
在oracle中我会使用sequencename.nextval();但是我在MySQL中使用了什么?
这是我为什么不能用
select max(id) from ABC;
Run Code Online (Sandbox Code Playgroud)
假设我有一个id = 2的条目.现在列id将下一个值设为3.在创建id = 3的记录之前,如果我删除id = 2的记录.我提到的查询的答案是2.但我想要实际值3,auto_increment列无论如何都要采用.
查询表状态如下:
SHOW TABLE STATUS WHERE `Name` = 'table_name'
Run Code Online (Sandbox Code Playgroud)
现在结果你会得到一个名为的列Auto_increment.这是你要求的价值.
在JAVA中:
conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
stmt = conn.createStatement();
rs = stmt.executeQuery("SHOW TABLE STATUS WHERE `Name` = 'table_name'");
rs.next();
String nextid = rs.getString("Auto_increment");
Run Code Online (Sandbox Code Playgroud)
这里有完整的例子:http://www.avajava.com/tutorials/lessons/how-do-i-use-jdbc-to-query-a-mysql-database.html
| 归档时间: |
|
| 查看次数: |
12920 次 |
| 最近记录: |