2016-04-28 165 views
0

我是否可以向已有主键的表添加新列,以便新列和现有主键形成复合主键?将主键添加到现有表

+1

是的,请看看这篇文章:http://stackoverflow.com/questions/2310561/change-primary-key –

回答

0

你不能直接这样做 - 你必须删除现有的主键并创建一个新的主键。请注意,主键列不能是null。例如: -

-- Add the new column 
-- Make sure it doesn't have any nulls in it 
ALTER TABLE mytable ADD newcolumn NUMBER(10) NOT NULL DEFAULT 1; 

-- Drop the primary key 
ALTER TABLE mytable DROP PRIMARY KEY; 

-- Add a new primary key 
ALTER TABLE mytable ADD CONSTRAINT mytable_pk 
PRIMARY KEY (oldcolumn1, oldcolumn2, newcolumn); 
+0

感谢它清除我的疑问 – user2859809