gpt4 book ai didi

java - 如何使用 MySQL 自增列?

转载 作者:行者123 更新时间:2023-11-28 23:10:38 25 4
gpt4 key购买 nike

我正在尝试在 Java 程序中使用 MySQL auto_increment。但是我遇到了这种类型的错误:

Sep 09, 2017 7:36:16 PM demosub jButton1ActionPerformed SEVERE: null
java.sql.SQLException: No value specified for parameter 1

这是我的程序:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
try {
String url = "jdbc:mysql://localhost:3306/anadha";
String uname1 = "root";
String password = "csrajesh";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, uname1, password);
PreparedStatement pst = con.prepareStatement("INSERT into employee (time, name) VALUES (?,?)", Statement.RETURN_GENERATED_KEYS);
pst.setString(2, nme.getText());
pst.executeUpdate();
} catch (ClassNotFoundException ex) {
Logger.getLogger(demosub.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(demosub.class.getName()).log(Level.SEVERE, null, ex);
}

最佳答案

您忘记绑定(bind)第一个参数,因此出错。您只需设置第二个参数的值

pst.setString(2, nme.getText());

你应该有另一行这样说:

pst.setString(1, "ValueYouWant");

或者

pst.setTimestamp(1, <function_that_returns_a_timestamp>);

取决于该列的预期值类型。

如果您不想自己添加当前时间戳,只需将表中的 time 列默认值设置为 CURRENT_TIMESTAMP。

关于java - 如何使用 MySQL 自增列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46131552/

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