Должен ли я снова установить атрибут в качестве первичного ключа? - PullRequest
1 голос
/ 19 сентября 2019

У меня есть таблица, в которой есть атрибут ID, и этот атрибут является первичным ключом. Если я хочу установить идентификатор как auto_increment, с помощью команды изменения столбца нужно ли установить идентификатор atribbute в качестве первичного ключаснова?

Должен ли я использовать этот код?

  alter table testing modify column ID int primary key auto_increment; 

или этот?

 alter table testing modify column ID int auto_increment;

1 Ответ

2 голосов
/ 19 сентября 2019

Краткая форма в порядке: изменение столбца на auto_increment не отменяет ограничение первичного ключа.

Демонстрация на скрипте БД (протестировано в MySQL5.5, 5.6, 5.7 и 8.0):

create table testing (ID int primary key);
alter table testing modify column ID int auto_increment;
insert into testing values(1);
insert into testing values(1);

Ошибка: ER_DUP_ENTRY: повторяющаяся запись '1' для ключа 'PRIMARY'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...