通过Cassandra中cqlsh的“更新”查询批量更新

时间:2014-08-27 20:43:27

标签: cassandra cqlsh

我想使用更新查询对所有行进行批量更新。我知道有BATCH查询。但是,我必须列出所有行..

所以,我想做类似的事情:

UPDATE test set value = 0x31其中id in(SELECT id from test);

有没有办法做上面这样的事情?

这个想法和SQL一样。选择所有行&并将它们插入“in”部分。

我想要这样做的原因是我在现有列族中添加了一个新列,该列在新创建的列中创建了空数据。 并且,这会导致从Cassandra检索数据时出错。

1 个答案:

答案 0 :(得分:0)

我认为此处显示的示例可能有所帮助:http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/update_r.html?scroll=reference_ds_g4h_qzq_xj__description_unique_31

一次更新多行中的列:

更新用户   SET state ='TX'   WHERE user_uuid   IN(88b8fd18-b1ed-4e96-bf79-4280797cba80,     06a8913c-c0d6-477c-937D-6c1b69a95d43,     bc108776-7cb5-477f-917D-869c12dfffa8);