有没有办法像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/