我仍然得到错误,我没有提供1参数的值,我不知道有什么问题。
ps("INSERT INTO slide (presentation_id, duration, position, type) values (?, ?, ?, ?) ").set(this.getId()).set(slide.getDuration()).set(slide.getPosition()).set(slide.getType().ordinal()).update();
在表I中,仅为一个设置了自动增量的列提供值。
对我来说一切似乎都没问题,但请提出任何可能出错的建议。
答案 0 :(得分:1)
不包括列列表中的auto inc字段。
ps("INSERT INTO slide (duration, position, type) values (?, ?, ?) ").set(slide.getDuration()).set(slide.getPosition()).set(slide.getType().ordinal()).update();
答案 1 :(得分:0)
尝试做一些更干净的事情,而不是这个“火车代码”
这是一个例子:
String insertTableSQL = "INSERT INTO DBUSER"
+ "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
+ "(?,?,?,?)";
PreparedStatement preparedStatement = dbConnection.prepareStatement(insertTableSQL);
preparedStatement.setInt(1, 11);
preparedStatement.setString(2, "mkyong");
preparedStatement.setString(3, "system");
preparedStatement.setTimestamp(4, getCurrentTimeStamp());
// execute insert SQL stetement
preparedStatement .executeUpdate();
以下是以下链接:http://www.mkyong.com/jdbc/jdbc-preparestatement-example-insert-a-record/