2013-09-27 11 views
34

Desidera popolare alcuni dati di test statici tramite uno script CQLsh.Inserimento di un UUID hardcoded tramite CQLsh (Cassandra)

questo non funziona: (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'}); 

Bad Request: stringa non valida costante (c37d661d-7e61-49ea-96a5-68c34e83db3a) per device_id di tipo uuid

Non riesco a trovare alcuna funzione CQL da convertire in un tipo corretto. Devo farlo da uno script Python?

Grazie, Chris

+1

Si dovrebbe accettare la risposta in quanto risolve definitivamente il problema (pensando alla nota di ringraziamento) – Bruce

risposta

65

Non si dovrebbero mettere le virgolette attorno alla UUID per fermarlo interpretato come una stringa cioè

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

Perfetto. Grazie. –

+0

@ChrisH - Dovresti accettare la risposta di Richard. –

+0

grazie @Richard, ottimo lavoro! :-) – m0z4rt

-2

alternativo: la funzione Usa uuid(). l'ho provato in DevCenter 1.6.0.

inserire in CHANGE_LOG (cjpid, modifieddatetime, seatnumber, gatenumber, source) valori (uuid(), '2000-12-12 08:00:00', '21A', '', 'MARS');