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

Applying PRIMARY KEY constraint in CockroaachDB - multiple primary keys error

我在没有任何 PRIMARY KEY 的情况下在 CRDB 中创建了一个 table,并将我的数据填充到 table。

既然 table 已创建并填充了数据,我想应用约束以将第一列设为 PRIMARY KEY。但是我得到一个错误:

约束是:

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

错误是:

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

我认为如果没有提到 PRIMARY KEY,CRDB 是有原因的,CRDB 会自动将 PRIMARY KEY 分配给 table named: rowid.

如何在 CRDB 的 table 中查看 PRIMARY KEY? 和 如何将我想要的列设置为 PRIMARY KEY?

目前,CockroachDB 的限制是 table 创建后不能修改主键。如果您创建一个没有主键的 table,在后台将为您创建一个不可见的 rowid 列并将其设置为主键。

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