0

不幸的是,我删除了行键。

例如:从表名中删除 key='rowkey';

删除行键后,所有数据都被删除。

注:该表为计数器表。

CREATE TABLE tablename (
  KEY text PRIMARY KEY
) WITH
  comment='' AND
  comparator=text AND
  read_repair_chance=0.100000 AND
  gc_grace_seconds=864000 AND
  default_validation=counter AND
  min_compaction_threshold=4 AND
  max_compaction_threshold=32 AND
  replicate_on_write='true' AND
  compaction_strategy_class='SizeTieredCompactionStrategy' AND
  compression_parameters:sstable_compression='SnappyCompressor';

删除行键后,我无法插入同一键的数据。我可以更新其他一些键的数据。

例如:更新表名 set new = new + 1 where key='2014';

我没有找到 2014 年的任何条目

预期:我需要为已删除的行键添加数据。

4

1 回答 1

0

计数器删除受到严格限制:来自 Counters Wiki 文档:

如果您删除一行计数器,增加该行中的任何计数器(在删除之前存在)将导致未确定的行为。

counters wiki 页面上,您可以找到更多信息。

顺便说一句:即将到来的 2.1(和未来的 3.0)将对计数器的工作方式进行一次小革命,所以如果你必须使用计数器,你最好使用最新的 cassandra 版本(2.1 现在是 RC5)

于 2014-08-14T09:26:02.850 回答