我在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?
答案 0 :(得分:3)
目前,CockroachDB具有以下限制:您无法在创建表后修改其主键。如果您创建的表没有主键,则会为您创建一个不可见的rowid
列,并将其设置为主键。
您必须使用CREATE TABLE
表达式中的主键设置重新创建表格。