Cassandra 2.0 为什么insert和select查询的结果集不同

Cassandra 2.0 为什么insert和select查询的结果集不同,cassandra-2.0,datastax-java-driver,Cassandra 2.0,Datastax Java Driver,在cassandra中使用session.execute时,我注意到同一个表的ResultSet结构不同。如果使用Where查询表以获取记录,则ResultSet包含从表中获取的数据 val resultSet=session.execute(where子句) 给予 ResultSet[已耗尽:false,列[年(bigint),月(bigint), 创建时间小时(bigint),创建时间分钟(bigint), 问题\标识(uuid),问题\描述(varchar)] 但是如果我使用Inser

cassandra
中使用
session.execute
时,我注意到同一个表的
ResultSet
结构不同。如果使用
Where
查询表以获取记录,则
ResultSet
包含从表中获取的数据

val resultSet=session.execute(where子句)
给予

ResultSet[已耗尽:false,列[年(bigint),月(bigint),
创建时间小时(bigint),创建时间分钟(bigint),
问题\标识(uuid),问题\描述(varchar)]
但是如果我使用
Insert
,我会得到完全不同的东西

ResultSet[已耗尽:false,列[[应用](布尔)]]

这是预期的行为吗?有没有办法在
execute
方法返回的
ResultSet
表中获得
cassandra
插入的数据?

通常,
INSERT
不会将插入的值返回给用户。例外情况是触发轻量级事务的插入-如果您使用
如果不存在
。在这种情况下,它可能返回:

  • 单行带单列
    [应用]
    真值
    这意味着插入了数据
  • 包含表中相应行的所有值的单行,加上包含
    [applicated]
    值的列
    false
    -当具有给定主键的行已经存在时,会发生这种情况

  • 通常,
    INSERT
    不会将插入的值返回给用户。例外情况是触发轻量级事务的插入-如果您使用
    如果不存在
    。在这种情况下,它可能返回:

  • 单行带单列
    [应用]
    真值
    这意味着插入了数据
  • 包含表中相应行的所有值的单行,加上包含
    [applicated]
    值的列
    false
    -当具有给定主键的行已经存在时,会发生这种情况

  • 我对Cassandra没有任何了解,但是Sql插入不会返回任何信息。对于某些DBMS,插入后可以检索一些内容,如插入的行数和生成的PK(如果表中插入了行数,但没有插入实际数据)。我不知道Cassandra的任何信息,但Sql插入不会返回任何信息。对于某些DBMS,插入后可以检索一些内容,如插入的行数和生成的PK(如果表中插入了行数,但没有插入实际数据)。因此,答案是“否”,在执行插入时无法获取返回的插入数据。因此,答案是“否”,在执行插入时无法获取返回的插入数据。
    cqlsh:test> insert into test.u2(id,u) values(5, {id:1, t1:3}) if not exists;
    
     [applied]
    -----------
          True
    
    cqlsh:test> insert into test.u2(id,u) values(1, {id:1, t1:2});
    cqlsh:test> insert into test.u2(id,u) values(1, {id:1, t1:3}) if not exists;
    
     [applied] | id | u
    -----------+----+----------------
         False |  1 | {id: 1, t1: 2}