阿帕奇卡桑德拉 "no viable alternative at input 'OR' "

Apache Cassandra "no viable alternative at input 'OR' "

我的 table 看起来像:

CREATE TABLE prod_cust (
    pid bigint,
    cid bigint,
    effective_date date,
    expiry_date date,
    PRIMARY KEY ((pid, cid))
);

我的以下查询在输入时没有提供可行的替代方案'OR'错误

SELECT * FROM prod_cust 
where 
pid=101 and cid=201 
OR 
pid=102 and cid=202;

如果不支持,Cassandra 是否不支持 OR 运算符,是否有其他方法可以实现我的结果。

CQL 不支持 OR 运算符。有时您可以使用 IN 来解决这个问题。但即使 IN 也不会让你做你正在尝试的事情。

我看到两个选项:

  • OR 的每一面作为单独的查询提交。
  • 重构 table 以更好地适应您想要做的事情。从 RDBMS 到 Cassandra 的“移植”几乎无法按预期工作。