2016-04-28 3 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