1

今天我决定使用 CQL,不幸的是我遇到了 CQL 3 和 Composite 列的许多问题。我没有解决的其中之一是:

我有 4 个复合主键的表。我们将它们命名为 c_key0、c_key1、c_key2、c_key3。我添加了一些数据,然后我想删除 c_key0='L1' 和 c_key1='L2' 的所有行,这与分配给 c_key2 和 c_key3 的值无关。当我查询“DELETE FROM Composite WHERE c_key0='L1' and c_key1='L2' 并得到一个错误。当我查询 c_key0='L1' and c_key1='L2' and c_key2>='' and c_key3 >='' 我又得到一个错误。这真的很愚蠢。我错在哪里?

PS我正在使用JDBC。

4

1 回答 1

0

CQL 并不是一种完全通用的查询语言,Cassandra 也不是一种完全通用的关系数据库。CQL 最终可能会发展到您可以提供任何您喜欢的 SQL-92 查询并期望结果的地步,但它现在不存在,甚至不是设计目标。

因此,长话短说,这不是进行范围删除的受支持方式。

于 2012-09-27T03:16:47.213 回答