怎么在已有表上设置复合主键(表中已有主键,还要在加几个主键)用sql语句

 我来答
流浪云风
推荐于2018-12-26 · TA获得超过4315个赞
知道大有可为答主
回答量:1119
采纳率:69%
帮助的人:934万
展开全部
例如:
已有一个表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;

这样就可以了。
micro0369
2012-08-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4048万
展开全部
数据库表只能有一个主键,

你要再想加的话,只能用唯一索引 + 非空约束即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式