在 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。
我在没有任何 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。