gpt4 book ai didi

java - SQL删除语句(对于Derby)不允许NULL吗?

转载 作者:行者123 更新时间:2023-11-30 05:59:45 26 4
gpt4 key购买 nike

有谁知道为什么以下查询在 Derby 中失败?

delete from MyTable
where
((null = null) or (col1 = null)) OR
((102 = null) or (col2 = 102)))

我收到以下错误:

Error: Syntax error: Encountered "null" at line 3, column 3.
SQLState: 42X01
ErrorCode: -1

sql 是在基于我写入 iBatis ORM 层配置的 SQL 的 java 程序中生成的。准备好的语句如下:

delete from MyTable
where
((? = null) or (col1 = ?)) OR
((? = null) or (col2 = ?)))

正如您所看到的,我想说的是,如果参数不为空,则根据参数测试列值

最佳答案

我相信你想要的是:

DELETE FROM `name_of_table` WHERE `name_of_column` IS NULL

SQL 有一个非常奇怪的属性,您可以将 =value 与除 NULL 之外的大多数值一起使用。

关于java - SQL删除语句(对于Derby)不允许NULL吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486469/

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