【发布时间】:2017-09-09 14:10:41
【问题描述】:
我尝试在 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);
}
【问题讨论】:
-
让它在命令行应用程序中运行。首先,它应该以几乎完全相同的方式工作“在 java swing 程序中”.
-
哪一列是自动增量、时间或名称或其他?
-
请提供您尝试插入的表的结构。将其理解为 CREATE 语句是最容易理解的,但请确保我们能够分辨出哪一列是 auto_increment 列以及每列的类型。
-
+-------+-------------+------+-----+------ ---+----------------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +-------+-------------+------+-----+---------+---- ------------+ |编号 |整数(11) |否 |优先级 |空 |自动增量 | |姓名 | varchar(45) |否 | |空 | | +-------+-------------+------+-----+---------+---- ------------+ 2 行(0.00 秒)
标签: java mysql sql jdbc sqlexception