使用mysql将ID_Column值增加1

时间:2018-07-28 11:26:05

标签: java mysql sql

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

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为空白。

1 个答案:

答案 0 :(得分:0)

问题是未命名表达式的命名。这将因数据库而异。只需这样做:

Select max(ID) as max_id from ad_form

然后:

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

这将适用于任何数据库。

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