在CockroaachDB中应用PRIMARY KEY约束 - 多个主键错误

时间:2017-08-15 19:52:44

标签: constraints primary-key cockroachdb

我在CRDB中创建了一个没有任何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会自动为名为rowid的表分配一个PRIMARY KEY。

如何在CRDB中的表中查看PRIMARY KEY? 和 如何将我想要的列作为PRIMARY KEY?

1 个答案:

答案 0 :(得分:3)

目前,CockroachDB具有以下限制:您无法在创建表后修改其主键。如果您创建的表没有主键,则会为您创建一个不可见的rowid列,并将其设置为主键。

您必须使用CREATE TABLE表达式中的主键设置重新创建表格。