Cassandra主键允许重复

时间:2018-03-21 20:24:45

标签: cassandra nosql cql

我尝试在Cassandra表中插入主键中所有相同值的两条记录,并且插入成功。我是Cassandra的新手,并认为Cassandra中的Primary Keys不允许重复插入。这是不正确的?以下是我的主键

中的列

PRIMARY KEY((customer_id,source_id),status_code,create_timestamp,modified_timestamp)

以下是我如何插入

insert into testkeyspace.customers 
(customer_id, source_id, status_code,
 create_timestamp, modified_timestamp) 
value ('123e4567-e89b-12d3-a456-426655440000', 
1122334455, 0, toTimestamp(now()), toTimestamp(now()));

2 个答案:

答案 0 :(得分:3)

您对主键中的2个聚类列使用toTimestamp(now()),因此2个插入的记录不太可能对这些列具有完全相同的值,即两个记录不重复。

查看this answer类似的问题

答案 1 :(得分:3)

需要注意的一点是,C *并没有明确禁止为主键提供重复值。具有重复值将覆盖先前的值(基于写入时间),将没有客户端消息来指示这种情况正在发生。您只会在后续读取时注意到。