2017-11-17 10 views
1

特定の列の後または最後の列の後に新しい列を追加するために、テーブルを変更する必要があります。カッサンドラ特定の列の後に列を追加します。

+0

"特定の列に新しい列を追加する* *" を意味するはず? –

+0

それはカサンドラのコンセプトです@ PM77-1 –

+0

@PM 77-1 - 私は質問を編集しました、私はいくつかの既存の列の後に新しい列を追加する必要があります。 – Bharath

答えて

3

のは、私は、この定義を持つテーブルで始めているとしましょう:

列を追加
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 - 新しい列を追加した後、私のテーブル定義は、次のようになりますので、キーの後カサンドラの列はASCII-betical順序で保存されているので、これがある

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)); 

、(column_nをそれが唯一の鍵であるため、常に先頭になります)。カサンドラに私の新しいcolumn_jcolumn_zの後に行くことを伝えたいとは言えません。それはcolumn_ccolumn_zの間にそれを置くつもりです。

1

Cassandraは、クラスタ化キー&に基づいてテーブルデータを格納します。追加カラムの

標準CQL:

ALTER TABLE keyspace.table ADD COLUMN column1 columnType; 

データが格納されている方法を描写しないCQLSHを介して所定のテーブルのDESCテーブルを実行します。常にパーティションキー&をクラスタリングキーとしてリストします。残りの列はアルファベット順に表示されます。ある何

https://docs.datastax.com/en/cql/3.1/cql/cql_reference/alter_table_r.html

Cassandra create table won't keep column order

関連する問題