как создать два первичных ключа с помощью таблицы изменений - PullRequest
0 голосов
/ 18 марта 2011

У меня есть брокер таблиц с этой формой

broker
{
broker_code char(10) primary key

.

.

.
}

, и я добавил к нему еще один первичный ключ с этой формой

code int nut null auto_increment

и написалэтот запрос

ALTER TABLE broker ADD code INT  NOT NULL AUTO_INCREMENT,
  ADD PRIMARY KEY (code);

но это ошибка.

multiply primary key defined.

что я могу сделать?

Ответы [ 3 ]

3 голосов
/ 18 марта 2011

У вас не может быть двух первичных ключей ... Однако у вас может быть ключ-кандидат или уникальный, который также предотвращает дублирование по другим критериям ... Например, человек в приложении по управлению персоналом.У вас может быть внутренний «идентификатор сотрудника», который является первичным, но также и ключ-кандидат в номере социального страхования человека, который НЕ ДОЛЖЕН дублироваться ... и если это так, он будет поднимать красный флаг до H / R дляпроверить, кто этот человек.

2 голосов
/ 22 ноября 2012

Этот код ниже имеет составной первичный ключ с таблицей изменения.

ALTER TABLE ex_table
ADD PRIMARY KEY (`name`,`id`)
0 голосов
/ 18 марта 2011

Я не уверен, потому что я не вижу структуру вашей текущей таблицы «брокер».Но я предполагаю, что вы уже определили другой первичный ключ.

Вам разрешено иметь только 1 первичный ключ на таблицу.

...