gpt4 book ai didi

java - 列ID的增量

转载 作者:行者123 更新时间:2023-11-30 21:41:52 25 4
gpt4 key购买 nike

我有两种方法,一种用于向数据库中插入数据,另一种用于删除它们。假设我添加了 3 行,其中 id=1、id=2、id=3。现在我决定删除最后一个并再次插入 1 行。所以我得到了 id 为 1、2、3 的三行,我得到了 id 为 1、2、4 的三行。我该如何解决这个问题?

 private void insert() throws SQLException {

String query = "INSERT INTO users (username, email, password, user_group_id) VALUES (?, ?, ?, ?);";

PreparedStatement sql = Boot.getCon().prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
sql.setString(1, username);
sql.setString(2, email);
sql.setString(3, password);
sql.setInt(4,user_group_id);
sql.executeUpdate();

}

public static void delete(int id) throws SQLException {

String query = "DELETE FROM users where id=?;";
PreparedStatement statement = Boot.getCon().prepareStatement(query);
statement.setInt(1,id);
statement.executeUpdate();
System.out.println("You have deleted 1 row");
}

最佳答案

这看起来不是问题,这是预期的行为。您的代码没问题。

我相信您在后台使用一些序列来分配 ID。每次插入时,序列值都会增加 1。

如果您删除任何行,该 ID 将不会再次使用。

关于java - 列ID的增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51179831/

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