web-dev-qa-db-fra.com

Insertion d'un UUID codé en dur via CQLsh (Cassandra)

Souhaitez remplir des données de test statiques via un script CQLsh.

Cela ne fonctionne pas: (device_id est 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'});

Requête incorrecte: Constante STRING non valide (c37d661d-7e61-49ea-96a5-68c34e83db3a) pour device_id de type uuid

Je n'arrive pas à trouver une fonction CQL à convertir en type approprié. Dois-je faire cela à partir d'un script python?

Merci, Chris

44
Chris H

Vous ne devez pas mettre les guillemets autour de l’UUID pour empêcher son interprétation comme une chaîne, par exemple.

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

Autre: utilisez la fonction uuid (). J'ai testé cela dans DevCenter 1.6.0.

insérer dans CHANGE_LOG (cjpid, modification de la date, numéro de siège, numéro de référence, source) values ​​(uuid (), '2000-12-12 08:00:00', '21A', '', 'MARS');

0
harish