如何在Cassandra中定义常量分区键

时间:2017-06-01 21:58:26

标签: cassandra

小桌子我想限制在Cassandra中的单个分区。我尝试了各种常量作为分区键,但Cassandra拒绝为无效。例如primary key(1, other_column)primary key(true, other_column)primary key('1', other_column)。有没有办法将表限制为单个分区,而无需向表中添加虚拟常量列?

1 个答案:

答案 0 :(得分:1)

您无法将常量值定义为分区键或任何其他列

而是将普通列(即分区)定义为分区键,每次插入/更新或删除时都使用常量值。

示例:

让我们创建一个包含名为partition的列的表,并将其作为分区键。

现在CRUD操作:

INSERT INTO small_table(partition, other_column) VALUES(1, ?);
SELECT * FROM small_table WHERE partition = 1;
UPDATE small_table SET other_column = ? WHERE partition = 1;
DELETE FROM small_table WHERE partition = 1;

注意:这是一个糟糕的设计,您的数据不会跨群集分发。所有选择,插入,更新,删除操作都将在包含此数据的主机和副本上执行