Cassandra CQL 支持哪里UPDATE IF [condition]
[condition] 是不等式?
我查看了语言参考,似乎 CQL 不能通过其语法支持不等式。我使用了这里的语言参考:https ://cassandra.apache.org/doc/cql3/CQL.html#updateStmt
令人困惑的是,使用 C# 驱动程序或 CQLSH 查询成功执行,但是从 Datasax DevCenter 执行相同操作时出现错误。
我正在使用类似于以下查询的查询:
UPDATE product
SET edit_date = [new_value]
WHERE customer_id = '4' AND code = 'AMZ-ISMDB'
IF edit_date < [new_value]
结果如下:
Datasax DevCenter 在尝试执行脚本片段时引发错误。我得到的错误是抱怨脚本的 UPDATE IF 部分中的不等式。
当前脚本中存在一个语法错误(请参阅下面的详细信息)。请修复并重试。第 29 行:输入 '<' 没有可行的替代方案
如果我将 CLINQ 与 Datasax C# 驱动程序一起使用,则会按上述方式生成查询,并且在执行时,如果新的 edit_date 在现有的 edit_date 之后(这是预期的行为),则更新将保持不变。
使用 CQLSH 查询成功运行并保持更新