50

想通过 CQLsh 脚本填充一些静态测试数据。

这不起作用:(device_id 是 UUID)

insert into devices (device_id, geohash,name, external_identifier, measures, tags) 
values ('c37d661d-7e61-49ea-96a5-68c34e83db3a','9q9p3yyrn1', 'Acme1', '936', {'aparPower','actPower','actEnergy'},{'make':'Acme'});

错误请求:uuid 类型的 device_id 的字符串常量 (c37d661d-7e61-49ea-96a5-68c34e83db3a) 无效

我似乎找不到任何 CQL 函数来转换为正确的类型。我需要从 python 脚本中执行此操作吗?

谢谢,克里斯

4

2 回答 2

93

您不应该在 UUID 周围加上引号来阻止它被解释为字符串,即

insert into devices (device_id, geohash,name, external_identifier, measures, tags) 
 values 
(c37d661d-7e61-49ea-96a5-68c34e83db3a,'9q9p3yyrn1', 'Acme1', '936', {'aparPower','actPower','actEnergy'},{'make':'Acme'});
于 2013-09-27T17:07:08.913 回答
0

替代:使用uuid()功能。我在 DevCenter 1.6.0 中对此进行了测试。

insert into CHANGE_LOG (someid, modifieddatetime, snum, gnum, source) 
values ( uuid() , '2000-12-12 08:00:00', '21A', '', 'system');
于 2016-09-28T12:27:25.600 回答