【发布时间】:2022-07-01 11:39:41
【问题描述】:
好吧,标题可能信息量不大,抱歉。
如果我使用
qb.Select(...)
.Where(
qb.Eq(\"part_key_col1\"),
qb.Eq(\"part_key_col1\"),
qb.In(\"clust_key_col1\"),
qb.In(\"clust_key_col2\")
)
,查询构建器构造:
SELECT ...
WHERE part_key_col1 = ?
AND part_key_col1 = ?
AND clust_key_col1 IN ?
AND clust_key_col2 in ?
现在,如果我传递 2 个 clust_key_col1(例如 \"hello\" 和 \"world\")和 2 个 clust_key_col2 值(\"foo\" 和 \"bar\"),它会构建:
SELECT ...
WHERE part_key_col1 = ?
AND part_key_col1 = ?
AND clust_key_col1 IN (\"hello\", \"world\")
AND clust_key_col2 in (\"foo\", \"bar\")
这导致 4 种可能的匹配:
hello foo
hello bar
world foo
world bar
我应该如何使用 gocqlx qb 来构造这个查询:WHERE (part_key_col1, part_key_col2) IN ((\"hello\", \"foo\"), (\"world\", \"bar\"))?我想传递任意数量的元素。
标签: go cassandra cql scylla gocqlx