2013-01-04 34 views
0

目前收到此错误消息(即使我创建一个索引。):卡桑德拉:无法更新与非主键的排

请求无效:预期主要的“关键”存在WHERE子句中对于“UserGameAnswers”

cqlsh:godofsports> UPDATE UserGameAnswers SET 'status' = 'thing' WHERE 'event_question_id' = '7'; 
Bad Request: Expected key 'KEY' to be present in WHERE clause for 'UserGameAnswers' 

鉴于我对这个列键索引(见下文)和this should be allowed我究竟做错了什么?

cqlsh:godofsports> DESCRIBE COLUMNFAMILY UserGameAnswers; 

CREATE TABLE UserGameAnswers (
    KEY text PRIMARY KEY, 
    event_question_id text 
) WITH 
    comment='' AND 
    comparator=ascii AND 
    read_repair_chance=0.100000 AND 
    gc_grace_seconds=864000 AND 
    default_validation=text 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'; 

CREATE INDEX event_question_id_idx ON UserGameAnswers (event_question_id); 

我是否需要先进行查询才能获取实际的KEY? :(

+0

我在其他查询获取所有的键,现在看来你不能使用()的。二级索引... – olive

回答

1

是 - 你需要确定键和编写针对该更新