gpt4 book ai didi

java - IS NULL 条件下的 JDBC 错误

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

我正在使用 ScalikeJDBC 库从 Scala 使用 JDBC。

让我们做一个简单的查询:UPDATE "test_table"SET "test"= 1234 WHERE ("asdad"is null)

如果我将此查询直接传递给 psql 或通过 JDBC 原始执行它,一切正常。但是,如果我尝试将 null 作为参数传递,则会出现以下错误:org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"

我像这样传递 null 值:

session.update("""UPDATE "test_table" SET "test" = 1234 WHERE ("asdad" is ?)""", null)

? 占位符被 ScalikeJDBC 库自动转换为 $1。执行的查询显示在 Scala 控制台中:

   UPDATE "test_table" SET "test" = 1234 WHERE ("asdad" is null)  

谢谢!

最佳答案

之后不允许有参数。您必须将 IS NULLIS NOT NULL 编写为固定表达式。

允许的是 = $1,然后将此占位符设置为 null,但这不会产生您期望的与 NULL< 比较的结果 总是未知

查看相关问题:

Why does NULL = NULL evaluate to false in SQL server

Is there any difference between IS NULL and =NULL

关于java - IS NULL 条件下的 JDBC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24934243/

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