【问题标题】:Cassandra - Data Insert into nested collection type using CQLCassandra - 使用 CQL 将数据插入嵌套集合类型
【发布时间】:2017-08-13 12:15:09
【问题描述】:

我需要一些关于在表(带有嵌套集合TYPE)列中插入数据的帮助。

我收到以下错误:

来自服务器的错误:code=2200 [Invalid query] message="Unknown field 'icon_id' in value of user defined type tst_diag_msg_typ"

提前感谢您的帮助!!

这是我正在做的:

CREATE TYPE cs_veh.tst_icon_typ (
   icon_id text,
   icon_val text
);


CREATE TYPE cs_veh.tst_diag_msg_typ (
   msg_id text,
   msg_priority int,
   msg_text text,
   IconReason SET <FROZEN<tst_icon_typ>> 
);


CREATE TABLE test_veh_health
(VIN text,
eventtimestamp timestamp,
DiagnosticMessages SET < FROZEN <tst_diag_msg_typ>>,
PRIMARY KEY((VIN),eventtimestamp ))
WITH CLUSTERING ORDER BY (eventtimestamp DESC);
insert into test_veh_health
( VIN,
  eventtimestamp
, DiagnosticMessages 
)
values
('TEST122227751',
 toTimestamp(now())
,{{msg_id : '24.0:ENGINE:MESSAGE', msg_priority : 37, msg_text : 'Oil pressure: Engine off! See owners manual.' }
, { icon_id : 'xx',    icon_val: 'text'}
}
);

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    试试下面的插入语句:

    INSERT INTO test_veh_health(vin, eventtimestamp, diagnosticmessages) VALUES (
        'TEST122227751', 
        toTimestamp(now()),
        {
          {
            msg_id : '24.0:ENGINE:MESSAGE', 
            msg_priority : 37, 
            msg_text : 'Oil pressure: Engine off! See owners manual.' , 
            iconreason : { 
              {
                icon_id : 'xx',
                icon_val: 'text'
              }
            }
          }
        }
    );
    

    输出:

    cqlsh:test> SELECT * FROM test_veh_health ;
    
    @ Row 1
    --------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------
     vin                | TEST122227751
     eventtimestamp     | 2017-08-11 19:07:27.545000+0000
     diagnosticmessages | {{msg_id: '24.0:ENGINE:MESSAGE', msg_priority: 37, msg_text: 'Oil pressure: Engine off! See owners manual.', iconreason: {{icon_id: 'xx', icon_val: 'text'}}}}
    
    @ Row 2
    --------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------
     vin                | TEST122227751
     eventtimestamp     | 2017-08-11 18:54:57.519000+0000
     diagnosticmessages | null
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      相关资源
      最近更新 更多