2013-09-27 117 views
34

Muốn điền một số dữ liệu thử nghiệm tĩnh thông qua tập lệnh CQLsh.Chèn UUID mã hóa cứng qua CQLsh (Cassandra)

này không làm việc: (DEVICE_ID là 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: STRING không hợp lệ liên tục (c37d661d-7e61-49ea-96a5-68c34e83db3a) cho DEVICE_ID loại uuid

Tôi dường như không thể tìm thấy bất kỳ hàm CQL nào để chuyển đổi thành loại thích hợp. Tôi có cần phải làm điều này từ một kịch bản python?

Cảm ơn, Chris

+1

Bạn nên chấp nhận câu trả lời vì nó chắc chắn giải quyết được vấn đề của bạn (suy nghĩ về lời cảm ơn) – Bruce

Trả lời

65

Bạn không nên đặt dấu ngoặc kép quanh các UUID để ngăn chặn nó được hiểu như là một chuỗi ví dụ:

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

Hoàn hảo. Cảm ơn bạn. –

+0

@ChrisH - Bạn nên chấp nhận câu trả lời của Richard. –

+0

cảm ơn @Richard, công việc tuyệt vời! :-) – m0z4rt

-2

thay thế:) chức năng (Sử dụng uuid. tôi đã thử nghiệm điều này trong DevCenter 1.6.0.

chèn vào CHANGE_LOG (cjpid, modifieddatetime, seatnumber, gatenumber, source) giá trị (uuid(), '2000-12-12 08:00:00', '21A', '', 'MARS');