java - 使用 mysql 将 ID_Column 值加 1

标签 java mysql sql

我编写了这段代码,将 jlabel 内容增加 1。
这与 SQLite 数据库完美配合。但是当我切换到 MySQL 时,相同的语法根本没有产生任何值(value)。请问似乎是什么问题。代码如下:

try{
    String sql = "Select max(ID) from ad_form";
    pst=con.prepareStatement(sql);
    rs=pst.executeQuery();
    String one =rs.getString("max(ID)");
    id.setText(one);

    int all = Integer.valueOf(id.getText());
    all=all+1;
    id.setText(String.valueOf(all));
    }catch(SQLException | NumberFormatException e ){
    JOptionPane.showMessageDialog(null,e);
    }
    finally{
                try{
                    rs.close();
                    pst.close();
                }
                catch(Exception ep){
                    ep.getMessage();
                }

            }

任何时候代码运行时,显示值的 jlabel 都是空白的。

最佳答案

问题在于未命名表达式的命名。这将因数据库而异。所以简单地做:

Select max(ID) as max_id from ad_form

然后:

String one =rs.getString("max_id");

这适用于任何数据库。

我担心获取最大 ID。如果您希望将其增加 1 并将其用于后续插入,那么这是错误的方法。相反,您应该使用 auto_increment 列。

关于java - 使用 mysql 将 ID_Column 值加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51570930/

相关文章:

mysql - 统计超过日期的订单数量

java - Hibernate OneToMany 关联表字段对于repository.save(entityModel) 不能为空

java - 线程 : Lazy Initialization vs Static Lazy Initialization

java - 测试安全 Spring 存储库时出错

Mysql - 如何在大型重复集中随机选择1行,使得每行都有 `equal`的选择机会

mysql - 如何使用 mysql 在工作台中使用游标

java - 在 Java 中缩短数组

mysql - SQL和数据库设计项目

mysql - 无法执行 sql 查询

php - Mysql数据库整理与捷克符号