nosql cassandra - 如何基于select创建更新查询

时间:2014-01-07 13:51:55

标签: nosql cassandra cql

我尝试创建一个查询来更新特定表的行数:

UPDATE Albums (NumOfphotos) 
VALUES (
    SELECT COUNT(*)
    FROM photos 
    WHERE AlbumName='nature'
) 
WHERE AlbumName='nature';

这似乎不是正确的语法,
什么是正确的方法(可能是通过自动键)?

1 个答案:

答案 0 :(得分:2)

Cassandra和CQL都故意不支持这种类型的查询。

如果您查看更新datastax CQL documentation,您会看到“where specification”只接受主键或IN(keys)子句:

primary key name = key_value
primary key name IN (key_value ,...)

所以你最好的选择是做一个

SELECT * FROM photos WHERE AlbumName='nature';

然后进行更新以设置正确的值。