为什么Cassandra会更改分区键?

时间:2016-02-15 10:51:45

标签: cassandra

在C *中创建下表时,主键在创建后会有所不同。

CREATE TABLE example (
 section text,
 server text,
 unique_id int,
 column1 text,
 column2 int,
 PRIMARY KEY ((section), server, unique_id)
) WITH CLUSTERING ORDER BY (server ASC, unique_id ASC);

当我描述该表时,似乎部分未保存为分区键:

cqlsh:试验>描述例子;

CREATE TABLE test.example (
    section text,
    server text,
    unique_id int,
    column1 text,
    column2 int,
    PRIMARY KEY (section, server, unique_id)
) WITH CLUSTERING ORDER BY (server ASC, unique_id ASC)

为什么会这样?我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

如果您的分区键只包含一列,则不需要括号。默认情况下,多列priamry键的第一列是分区键列。 C *根本不回显不必要的括号。

来自CQL 3.1 documentation

  

PRIMARY KEY是:

     

[..]

     

(column_name1,column_name2,column_name3 ...)

     

[..]

     

column_name1是分区键。