gpt4 book ai didi

postgresql - 在 postgres 下将 PreparedStatement 参数设置为 null 的正确方法

转载 作者:行者123 更新时间:2023-11-29 12:48:08 25 4
gpt4 key购买 nike

我正在使用 JDBC4(通过 JDK6)连接到使用最新 JDBC4 驱动程序的 postgresql 9.0。

conn = dpaDs.getConnection();
PreparedStatement stmt = conn.prepareStatement("delete from fss where f_id=? and f_lastmodified=?");
UUID target = UUID.fromString("8c5c5ac2-3a2a-49f3-ae48-29226d6ea3e7");
stmt.setObject(1, target, 1111);
//non of these work
//stmt.setNull(2,93);
//stmt.setObject(2,null, 93);
//stmt.setObject(2,null, java.sql.Types.NULL);
//stmt.setNull(2, java.sql.Types.NULL);
int rowCount = stmt.executeUpdate();
int g = 8;

将第二个参数设置为 null 的正确方法是什么?我知道我可以使用“where ... f_lastmodified is null”,但是没有办法解决这个问题吗?

最佳答案

那是行不通的。

不能使用 = 运算符进行 NULL 比较。如果要测试 NULL,则必须使用 和 f_lastmodified IS NULL

您不能在准备好的语句中为 IS NULL 条件使用参数。

关于postgresql - 在 postgres 下将 PreparedStatement 参数设置为 null 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com