Подтвердить что ты не робот

Вставка жестко запрограммированного UUID через CQLsh (Cassandra)

Хотелось бы заполнить некоторые статические тестовые данные с помощью CQLsh script.

Это не работает: (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'});

Неверный запрос: неверная константа STRING (c37d661d-7e61-49ea-96a5-68c34e83db3a) для device_id типа uuid

Я не могу найти какую-либо функцию CQL для преобразования в правильный тип. Нужно ли это делать из python script?

Спасибо, Крис

4b9b3361

Ответ 1

Вы не должны помещать кавычки вокруг UUID, чтобы остановить его интерпретацию как строку i.e.

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

Ответ 2

Альтернатива: используйте функцию uuid(). Я проверил это в DevCenter 1.6.0.

вставить в значения CHANGE_LOG (someid, updateddatetime, snum, gnum, source) (uuid(), '2000-12-12 08:00:00', '21A', '', 'system');