2013-09-27 9 views
34

Möchte einige statische Testdaten über ein CQLsh-Skript auffüllen.Einfügen einer fest codierten UUID über CQLsh (Cassandra)

Dies funktioniert nicht: (device_id UUID ist)

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'}); 

Bad Request: Ungültige STRING Konstante (c37d661d-7e61-49ea-96a5-68c34e83db3a) für device_id vom Typ Uuid

Ich kann nicht scheinen, irgendeine CQL Funktion zu finden, zum korrekten Typ zu konvertieren. Muss ich dies von einem Python-Skript aus tun? Verwenden UUID() Funktion:

Danke, Chris

+1

Sie sollten die Antwort akzeptieren, da es definitiv Ihr Problem löst (Denken über die Dankeschön-Notiz) – Bruce

Antwort

65

Sie sollten es nicht als das heißt

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

Perfekt. Vielen Dank. –

+0

@ChrisH - Sie sollten Richards Antwort akzeptieren. –

+0

danke @Richard, gute Arbeit! :-) – m0z4rt

-2

Alternative setzen die Anführungszeichen um die UUID zu stoppen Zeichenfolge interpretiert wird. Ich habe das in DevCenter 1.6.0 getestet.

in CHANGE_LOG einfügen (cjpid, modifizierte Zeit, Sitznummer, Gate-Nummer, Quelle) Werte (uuid(), '2000-12-12 08:00:00', '21A', '', 'MARS');