Cassandra 在特定列之后添加列

jas*_*ssu 5 cql alter cassandra

我需要更改表格以在特定列之后或作为最后一列添加新列,我已经浏览了该文档但没有运气。

Aar*_*ron 8

假设我从一个具有以下定义的表开始:

CREATE TABLE mykeyspace.letterstable (
    column_n TEXT,
    column_b TEXT,
    column_c TEXT,
    column_z TEXT,
    PRIMARY KEY (column_n));
Run Code Online (Sandbox Code Playgroud)

1- 添加一列是一件简单的事情。

ALTER TABLE mykeyspace.letterstable ADD column_j TEXT;
Run Code Online (Sandbox Code Playgroud)

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));
Run Code Online (Sandbox Code Playgroud)

这是因为 Cassandra 中的列是按 ASCII-betical 顺序存储的,在键之后(所以column_n永远是第一个,因为它是唯一的键)。我不能告诉 Cassandra 我想要我的新人column_j追求column_z。它打算把它之间column_ccolumn_z自身。