2016-03-03 99 views
0

我有下表。Cassandra - EQ關係在時間戳主鍵上不起作用

CREATE TABLE experiment(
    id uuid, 
    country text, 
    data text, 
    insert_timestamp timestamp, 
    PRIMARY KEY(insert_timestamp)); 

我通過

INSERT INTO experiment(id, country, data, insert_timestamp) VALUES (uuid(), 'my', 'the data', dateof(now())); 

插入數據當我

SELECT * from experiment; 

我得到

insert_timestamp   | country | data  | id 
--------------------------+---------+----------+-------------------------------------- 
2016-03-03 03:04:36+0000 |  my | the data | e08cddd2-b93d-4e39-b0f3-82b813f83a87 

但是,如果我SELECT通過insert_timestamp

SELECT * from experiment WHERE insert_timestamp = '2016-03-03 03:04:36+0000'; 

我得到空的結果。

insert_timestamp | country | data | id 
------------------+---------+------+---- 

(0 rows) 

任何想法爲什麼這樣?

回答

0

時間戳。字符串常量允許輸入時間戳作爲日期, 請參閱以下日期以獲取更多信息。帶有 格式的日期戳返回YYYY-MM-DD HH:MM:SS.SSS。

因此,當您使用2016-03-03 03:04:36+0000查詢數據時,它被解釋爲2016-03-03 03:04:36.0+0000,當您插入數據時,這可能不正確。 因此它返回0行。 注意: cql shell中可見的日期格式在cqlshrc文件的UI部分配置。

另外dateOf函數已被棄用Details。並根據您的數據模型,如果有多個線程同時寫入數據,您的數據將被覆蓋。