Cassandra 卡桑德拉CQL更新列
我有一张卡桑德拉桌子:Cassandra 卡桑德拉CQL更新列,cassandra,cql3,Cassandra,Cql3,我有一张卡桑德拉桌子: CREATE TABLE test ( c1 text primary key, c2 text ); 列c2的值类似于“a”、“b”、“c”。。。 现在,我想将所有行的c2值更改为“a”。假设我有一万行 在卡桑德拉做这件事最好的方法是什么 在SQL中,我可以简单地执行以下操作 UPDATE test SET c2 = 'b'; 但是卡桑德拉不允许这样做。在卡桑德拉没有CQL可以这样做。您可以通过检索所有c1密钥来执行此操作: SELECT c1 fr
CREATE TABLE test (
c1 text primary key,
c2 text
);
列c2的值类似于“a”、“b”、“c”。。。
现在,我想将所有行的c2值更改为“a”。假设我有一万行
在卡桑德拉做这件事最好的方法是什么
在SQL中,我可以简单地执行以下操作
UPDATE test SET c2 = 'b';
但是卡桑德拉不允许这样做。在卡桑德拉没有CQL可以这样做。您可以通过检索所有c1密钥来执行此操作:
SELECT c1 from test;
然后编写一个脚本,循环并执行
UPDATE test SET c2 = 'b' WHERE c1 = <c1>;
对于返回的每个c1。Cassandra不是SQL数据库。我建议阅读底层CassandraAPI和体系结构的概述。它将给出卡桑德拉能做什么,不能做什么,擅长什么和不擅长什么的好主意。此批量更新示例要求在表列族的每一行中独立更新此特定列,并且每个更新都是一个单独的写入操作