在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)
为什么会这样?我错过了什么吗?
答案 0 :(得分:2)
如果您的分区键只包含一列,则不需要括号。默认情况下,多列priamry键的第一列是分区键列。 C *根本不回显不必要的括号。
来自CQL 3.1 documentation:
PRIMARY KEY是:
[..]
(column_name1,column_name2,column_name3 ...)
[..]
column_name1是分区键。