怎么用sql语句在已有表上设置复合主键?

2025-02-14 04:21:11
推荐回答(1个)
回答1:

例如:
已有一个表test_key,其中a1列为主键。
create table TEST_KEY
(
a1 VARCHAR2(3) not null,
a2 VARCHAR2(3),
b1 VARCHAR2(3),
b2 VARCHAR2(3)
);

alter table TEST_KEY
add constraint PK_TEST_KEY primary key (A1)
using index;

现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:
alter table TEST_KEY
drop constraint PK_TEST_KEY cascade;
alter table TEST_KEY
add constraint PK_TEST_KEY primary key (A1, A2, B1)
using index;

这样就可以了。