我需要更改表格以在特定列之后或作为最后一列添加新列,我已经浏览了该文档但没有运气。
最佳答案
假设我从一个具有以下定义的表开始:
CREATE TABLE mykeyspace.letterstable (
column_n TEXT,
column_b TEXT,
column_c TEXT,
column_z TEXT,
PRIMARY KEY (column_n));
1- 添加一列是一件简单的事情。
ALTER TABLE mykeyspace.letterstable ADD column_j TEXT;
2- 添加新列后,我的表定义将如下所示:
desc table mykeyspace.letterstable;
CREATE TABLE mykeyspace.letterstable (
column_n TEXT,
column_b TEXT,
column_c TEXT,
column_j TEXT,
column_z TEXT,
PRIMARY KEY (column_n));
这是因为 Cassandra 中的列是按 ASCII-betical 顺序存储的,在键之后(所以
column_n
将始终是第一个,因为它是唯一的键)。我不能告诉 Cassandra 我想要我的新 column_j
去追 column_z
.它将把它放在 column_c
之间和 column_z
在其自己的。
关于Cassandra 在特定列之后添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47356941/