cassandra - 使用更新命令更改 cassandra 中的数据?

标签 cassandra cql

有没有办法像MySQL一样更新Cassandra数据库来更新表? 我有数据存储在 cassandra 中,我需要更新数据。有更新命令吗?

最佳答案

是的,您可以对数据库中的一行执行 UPDATE(从 CQL shell)。但是,与 MySQL 不同的是,您只能在 WHERE 子句中指定主键。此示例假设有一个名为“products”的表,其主键为“productNumber”。

UPDATE products
SET description1='PROD DESC1'
WHERE productNumber='ITEM00123';

如果您指定的主键不存在一行,将创建一个新行。

有关详细信息,请参阅关于 abhi 在他的答案中链接的 UPDATE CQL 命令的 DataStax 文档。

编辑:我不确定纯 Javascript,但有一个用于 node-cassandra-client 的 Cassandra 驱动程序 ( Node.js) .您可以使用该驱动程序连接到 Cassandra 并在 Javascript 中执行更新。以下是如何执行上述 UPDATE 的示例:

 var conOptions = { hosts: ['127.0.0.1:19170'],
                    keyspace: 'productKeyspace',
                    use_bigints: false };
 var con = new PooledConnection(conOptions);
 var cql = 'UPDATE products SET description1=? where productNumber=?';
 var params = ['PROD DESC1', 'ITEM00123'];
 con.execute(cql, params, function(err) {
   if (err) {
     console.log(err);
   }
   con.shutdown(callback);
 });

有关更多信息,请查看 Rackspace's doc on the node.js driver .

关于cassandra - 使用更新命令更改 cassandra 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21573136/

相关文章:

Cassandra - 一致性顺序

graph - 如何使用 Gremlin 提高最短路径的性能?

cassandra - Apache Cassandra 与 Datastax Cassandra

java - 从压缩数据中获取字符串,反之亦然

java - Cassandra Query执行时间分析

cassandra - 获取 Cassandra 的日期范围 - 选择 timeuuid,IN 返回 0 行

cassandra - 是否可以在 CQL 查询中使用复杂的 bool 逻辑?

php - Cassandra:只选择最新的行

cassandra - 删除 CQL 中时间数据类型的尾随零

cassandra - 在 Cassandra 中插入特殊字符