gpt4 book ai didi

mysql - 获取数据库中的最后一个自动增量值

转载 作者:可可西里 更新时间:2023-11-01 07:47:12 24 4
gpt4 key购买 nike

我正在尝试检索 mySQL 中最后插入数据的自动增量值。这是我的代码:

public int getAutoIncrementProductID() {
ResultSet rs = null;
DBController db = new DBController();
db.getConnection();
int autoIncKeyFromFunc = -1;
rs = db.readRequest("SELECT LAST_INSERT_ID()");
try {
if (rs.next()) {
autoIncKeyFromFunc = rs.getInt(1);
System.out.println("AUTO ID IS " + autoIncKeyFromFunc);
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
db.terminate();
return autoIncKeyFromFunc;
}

但是,尽管数据库中的自动递增列不断增加,但这些代码一直返回 0 值。它只是不会获得最后插入数据的自动增量值。有人可以帮忙吗?

最佳答案

您应该在插入内容后使用 LAST_INSERT_ID()

For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis. It is not changed by another client. It is not even changed if you update another AUTO_INCREMENT column with a nonmagic value (that is, a value that is not NULL and not 0).

Source

你也可以试试

SELECT max(id) FROM tableName

但它不会假定已删除的行。

关于mysql - 获取数据库中的最后一个自动增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17627126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com