CQL:错误请求:列的重复和不兼容条件

CQL: Bad Request: Duplicate and incompatible conditions for column

我试图理解当我尝试更新相同条件列上具有不同值的 2 个不同行时 CQL 抛出的错误消息。 CQL 不支持吗?我想知道为什么 CQL 有这个限制(因为条件独立地应用于每一行,为什么 CQL 甚至关心条件的值是相同还是不同)。

BEGIN BATCH 
    UPDATE activities SET state='CLAIMED',version=11 WHERE key='Key1' IF version=10; 
    UPDATE activities SET state='ALLOCATED',version=2 WHERE key='Key2' IF version=1; 
APPLY BATCH;

给出如下错误

Bad Request: Duplicate and incompatible conditions for column version

是否可以为每一行更新超过 1 行的不同条件值(除了 运行 这些单独的语句)?

您只能使用相同的分区键为更新创建批处理。有关详细信息,请参阅 documentation