![怎么用sql语句在已有表上设置复合主键?,第1张 怎么用sql语句在已有表上设置复合主键?,第1张](/aiimages/%E6%80%8E%E4%B9%88%E7%94%A8sql%E8%AF%AD%E5%8F%A5%E5%9C%A8%E5%B7%B2%E6%9C%89%E8%A1%A8%E4%B8%8A%E8%AE%BE%E7%BD%AE%E5%A4%8D%E5%90%88%E4%B8%BB%E9%94%AE%EF%BC%9F.png)
例如:\x0d\x0a已有一个表test_key,其中a1列为主键。\x0d\x0acreate table TEST_KEY\x0d\x0a(\x0d\x0a a1 VARCHAR2(3) not null,\x0d\x0a a2 VARCHAR2(3),\x0d\x0a b1 VARCHAR2(3),\x0d\x0a b2 VARCHAR2(3)\x0d\x0a)\x0d\x0a \x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1)\x0d\x0a using index\x0d\x0a \x0d\x0a现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。
语句如下:\x0d\x0aalter table TEST_KEY\x0d\x0a drop constraint PK_TEST_KEY cascade\x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1, A2, B1)\x0d\x0a using index\x0d\x0a \x0d\x0a这样就可以了。
添加列
语法:ALTER TABLE 表名
Add 列名 类型 ...
添加主键语法:ALTER TABLE 表名
ADD CONSTRAINT 主键名 PRIMARY KEY(列名)
ALTER TABLE testTable
Add Id int NOT NULL IDENTITY (1, 1)
go
ALTER TABLE testTable
ADD CONSTRAINT PK_Id PRIMARY KEY(Id)
go
也可以添加列时直接指定是主键 :
ALTER TABLE testTable
Add Id int NOT NULL IDENTITY (1, 1) primary key
go
评论列表(0条)