使用预准备语句将行插入数据库

2022-09-02 03:11:09

我想使用ReadyStatement将一行插入到表中。该表有 3 列(int、String、String)。问题是int列AUTO_INCREMENT,所以我想把这个变量留空,让数据库做那个工作(这是一个id)。虽然还没有找到如何做到这一点!

这是一个MySQL数据库。


答案 1

这相对简单,只需从列列表中省略自动增量列:

insert into mytbl(str1, str2) values (?, ?)

准备语句,设置两个参数,然后在非查询模式下执行。


答案 2

只需在 sql 查询字符串中提供 String 条目,数据库就会填充auto_increment字段:

String insertSQL = "INSERT INTO MyTable (StrCol1, StrCol2) VALUES (?, ?)";
PreparedStatement preparedStatement = dbConnection.prepareStatement(insertSQL);
preparedStatement.setString(1, "Val 1");
preparedStatement.setString(2, "Val 2");
preparedStatement.executeUpdate();

推荐