gpt4 book ai didi

oracle - 从复合主键中删除一列

转载 作者:行者123 更新时间:2023-12-04 11:51:25 25 4
gpt4 key购买 nike

我想从复合主键中删除一列(不要从表中删除)。如果我的 table 是这样的。

create table "scott"."xyz"(
"column1" not null,
"column2" not null,
"column3" not null,
"column4" not null,
"column5" not null,
"column6",
CONSTRAINT PRIMARY KEY ("column1","column2","column3","column4")
);

我想将此主键更改为前三列而不删除它。因为我不知道 CONSTRAINT 名称。

最佳答案

您不需要约束名称:

 ALTER TABLE "scott"."xyz" DROP PRIMARY KEY;
ALTER TABLE "scott"."xyz" ADD PRIMARY KEY ("column1","column2","column3");

但是,将来为您的 PK 命名可能是个好主意:
 ALTER TABLE "scott"."xyz" 
ADD CONSTRAINT pk_xyz PRIMARY KEY ("column1","column2","column3");

而且我不建议使用带引号的标识符。从长远来看,您会遇到各种工具的问题。

关于oracle - 从复合主键中删除一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11446528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com