2017-11-07 11 views
1

だから私は、そのスキーマ、このようなものになりますCFがあります。カサンドラCFからデータを削除することができません

CREATE TABLE "emp" (
id text, 
column1 text, 
column2 text, 
PRIMARY KEY (id, column1, column2) 
) 

を私はこのようなエントリを持っていると私はそれを削除する:

20aff8144049 | name | someValue 

だから私は、このコマンドを試してみました:

Delete column2 from emp where id='20aff8144049'; 

それは以下のエラーで失敗しました:

入力 '20aff8144049' でのノー実行可能な代替案(ID = [ "20aff8144049] ... EMPから... column2のは)誰かが私が間違っているつもりだところを助けることはできますか?ありがとう!

答えて

3

あなたが行全体を削除する必要が

を削除するか、主キー列にnullを設定することはできません。

3

プライマリキーの有効な値を使用してエントリを削除することはできます。主キーを(id、column1、column2)をインクルードするように定義しました。つまり、where句にすべての対応する値を入れる必要があります。

しかし、あなたはidだけで削除できると思っています。 idはあなたのパーティション・キーとCOLUMN1とcolumn2のは、あなたのクラスタリング列あるある

CREATE TABLE "emp" (
    id text, 
    column1 text, 
    column2 text, 
    PRIMARY KEY ((id), column1, column2) 
) 

:したがって、私はあなたがこのようなあなたの列の家族を再定義することをお勧めしたいです。

+0

構文を共有できますか? – CodePlorer

+0

パーティションとクラスタリング列の区別については、 PRIMARY KEY((id)、column1、column2)はすでに存在しています。パーティションキーの列は、別の括弧で囲む必要があります。 – Marcus

+0

いいえ、削除クエリです。 – CodePlorer

関連する問題