2017-08-15 22 views
2

PRIMARY KEYを持たずにCRDBにテーブルを作成し、そのテーブルにデータを移入しました。CockroaachDBでPRIMARY KEY制約を適用する - 複数の主キーエラー

これでテーブルが作成され、データが取り込まれました。最初の列をPRIMARY KEYにするために制約を適用します。しかし、私はエラーを取得する:

制約がある:

ALTER TABLE “MyDB”.“SALES” ADD CONSTRAINT “SALES_PK” PRIMARY KEY (“S_ID”); 

とエラーがある:

pq: multiple primary keys for table “SALES” are not allowed. 

私はCRDBが自動的になります、何のPRIMARY KEYが言及されていない場合がある理由はCRDBであると思いますPRIMARY KEYをrowidという名前のテーブルに割り当てます。

CRDBのテーブルでPRIMARY KEYを確認するにはどうすればよいですか? と プライマリキーとして使用する列を作成する方法を教えてください。

答えて

3

現在、CockroachDBには、作成後にテーブルの主キーを変更できないという制限があります。主キーを持たないテーブルを作成すると、フードの下に非表示のrowid列が作成され、主キーとして設定されます。

CREATE TABLE式で設定した主キーを使用してテーブルを再作成する必要があります。

+1

[Documentation](https://www.cockroachlabs.com/docs/stable/primary-key.html)を参照してください。 –

関連する問題