使用 JDBC 将 null 插入到整数列

2022-09-01 00:17:46

我有一个sql列,它是可为空的,并且在表上有一个约束PROTOCOL

PROTOCOL IN (1, 2, 3)

另外,由于它是可空的,我想设置并将空值放入表中

但我不能做,作为空。如何使用 JDBC 将 null 设置为 nullsetIntgetInt

setInt(4,null);

答案 1

尝试使用。

   pst.setNull(4, java.sql.Types.INTEGER);  //pst is prepared statement instance.

Interface PreparedStatement.setNull API

java.sql.Types 到 SQL 类型的映射

附言:编辑以反映Java 8更新。


答案 2

除了斯密特的回答

如果要将 -object 插入到数据库中,可以使用Integernull

statement.setObject(4, yourObject, java.sql.Types.INTEGER);

而不是

if (yourObject == null) {
    statement.setNull(4, java.sql.Types.INTEGER);
else {
    statement.setInt(4, yourObject);
}

推荐