我创建了这个表
CREATE TABLE table_test(
id uuid PRIMARY KEY,
varchar,
description varchar
);
我期待由于id是uuid,它会自动自动增加
INSERT INTO table_test (title,description) VALUES ('a','B');
抛出错误
com.datastax.driver.core.exceptions.InvalidQueryException: Some partition key parts are missing: id
com.datastax.driver.core.exceptions.InvalidQueryException: Some partition key parts are missing: id
知道我做错了什么。
答案 0 :(得分:2)
使用now()函数
在协调器节点中,在执行语句时以毫秒为单位生成新的唯一timeuuid。 timeuuid的时间戳部分符合UTC(通用时间)标准。此方法对于插入值很有用。 now()返回的值保证是唯一的。
Cassandra中没有自动增量选项。
now()函数返回一个timeuuid,它不是自动递增。它有两个bigint部分MSB和LSB。 MSB是当前时间戳,LSB是主机的时钟序列和节点ip的组合。并且它是通用的唯一。
使用以下查询插入:
INSERT INTO table_test (id,title,description) VALUES (now(),'a','B');
来源:http://docs.datastax.com/en/cql/3.3/cql/cql_reference/timeuuid_functions_r.html