CQL Cassandra - 如何在插入或更新中使用 SELECT 结果

Posted

技术标签:

【中文标题】CQL Cassandra - 如何在插入或更新中使用 SELECT 结果【英文标题】:CQL Cassandra - How to use SELECT result in INSERT OR UPDATE 【发布时间】:2015-03-25 19:52:55 【问题描述】:

我真的是 Cassandra 方面的初学者。 我需要在我的 INSERT 中使用一些 SELECT 结果。 像这样的:

insert into  data_tbl
  (value_type, time, value, key_id) 
values
  (
   'test1', 
   now(), 
   'my first value',
   (select key_id from keys where key='123') 
  );

有可能吗?

【问题讨论】:

试试看?你试过了吗?有什么错误吗? 不,不可能 【参考方案1】:

据我所知,您需要在应用程序中以编程方式执行此操作。首先在键表上进行选择,然后在循环中从结果集中读取每一行时,插入 data_tbl。

【讨论】:

是的,这可能是唯一的方法,除了 cql 复制到文件和从文件。真可惜……【参考方案2】:

嵌套查询是一个 RDBMS 概念,而不是 NoSQL。你不能通过 CQL 做到这一点。如果需要,您必须以这种方式编写应用程序。

【讨论】:

以上是关于CQL Cassandra - 如何在插入或更新中使用 SELECT 结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在cassandra cql的一行插入中插入多行?

如何在 cassandra 中多插入行

Cassandra CQL - NoSQL 或 SQL

在 cassandra 的地图中添加新值/更新现有值是不是会创建墓碑?

Cassandra Cql 范围选择

如何在 2.2.0 中获取给定 Apache Spark Dataframe 的 Cassandra cql 字符串?