2013-09-27 19 views
34

想通过CQLsh脚本填充一些静态测试数据。通过CQLsh(Cassandra)插入硬编码的UUID

这不起作用:(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'}); 

坏请求:无效的字符串常量 (c37d661d-7e61-49ea-96a5-68c34e83db3a)类型UUID的DEVICE_ID

我似乎无法找到任何CQL函数转换为适当的类型。我需要从python脚本执行此操作吗?

谢谢, 克里斯

+1

您应该接受答案,因为它绝对可以解决您的问题(思考感谢信) – Bruce

回答

65

你不应该把引号的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'}); 
+0

完美。谢谢。 –

+0

@ChrisH - 你应该接受Richard的回答。 –

+0

谢谢@理查德,出色的工作! :-) – m0z4rt

-2

备选:使用UUID()函数。我已经在DevCenter 1.6.0中测试过了。

插入到CHANGE_LOG(cjpid,modifieddatetime,seatnumber,gatenumber,source) values(uuid(),'2000-12-12 08:00:00','21A','','MARS');