【问题标题】:Generate Casandra CQL queries dynamically动态生成 Casandra CQL 查询
【发布时间】:2021-09-06 05:31:32
【问题描述】:

对于 Cassandra CQL 中的真实条件,“1=1”的等价物是什么。我正在尝试在 CQL 查询中动态生成 where 子句。但我无法使用“1=1”真值条件动态生成查询。

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    根据documentation,WHERE 子句中的每个谓词都必须包含列名:

    select_statement ::=  SELECT [ JSON | DISTINCT ] ( select_clause | '*' )
                          FROM table_name
                          [ WHERE where_clause ]
    ...
    where_clause     ::=  relation ( AND relation )*
    relation         ::=  column_name operator term
                          '(' column_name ( ',' column_name )* ')' operator 
    ...
    

    所以我看不出有什么办法。

    我的理解是,当你需要真正的条件时,你需要省略 WHERE 子句,即返回所有内容。

    【讨论】:

    • 是的。我需要真值条件,这样我就不需要在生成 where 子句时检查是否存在任何 where 条件。因为我总是有这个真实条件的 where 条件,并在需要时动态添加任何条件。
    • @Mohan 我建议你重新设计你的解决方案,因为获得真实条件的唯一方法是根本没有 WHERE 子句。
    【解决方案2】:

    在 cass 中,where 子句总是在键上。 Cass 没有将 1 视为键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 2021-08-23
      • 2019-02-20
      • 1970-01-01
      相关资源
      最近更新 更多