我有一个SQL列PROTOCOL
,它可以为空并且对表有约束
PROTOCOL IN (1, 2, 3)
此外,由于它可以为空,我想在表
中设置并获取空值但我无法将setInt
和getInt
视为空。如何使用JDBC
setInt(4,null);
答案 0 :(得分:74)
尝试使用。
pst.setNull(4, java.sql.Types.INTEGER); //pst is prepared statement instance.
Interface PreparedStatement.setNull API
Mapping of java.sql.Types to SQL types
P.S。 :编辑以反映Java 8更新。
答案 1 :(得分:14)
如果要将null
- 对象插入到可能为statement.setObject(4, yourObject, java.sql.Types.INTEGER);
的数据库中,可以使用
if (yourObject == null) {
statement.setNull(4, java.sql.Types.INTEGER);
else {
statement.setInt(4, yourObject);
}
而不是
HTTPCookieStorage.shared.cookies?.forEach(HTTPCookieStorage.shared.deleteCookie)