#mysql-management
#mysql-управление
Вопрос:
У меня есть база данных, которая содержит первичный ключ, но мой босс хочет, чтобы я перенумеровал ее на (текущее значение PK) 800000…
Таким образом, PK 1 станет 800001, PK 2354 станет 802354 и т.д…
Есть ли простой способ сделать это или мне следует написать скрипт?
Комментарии:
1. Причина, по которой я это делаю, заключается в том, что существует конфликт данных между старым способом ведения дел и тем, как мы все настраиваем сейчас. Я новичок и не понимал, что у них старая система нумерации, так что это частично моя вина. На данный момент таблица не ссылается и на нее не ссылается другая таблица.
Ответ №1:
Вероятно, самый простой способ сделать это — удалить первичный ключ из этой таблицы (не столбец, просто индекс), обновить все значения, увеличив их на 800000, а затем снова добавить первичный ключ для этого столбца.
alter table rptapp_batches change column id id int not null;
alter table rptapp_batches drop primary key;
update rptapp_batches set id = id 800000;
alter table rptapp_batches add primary key (id);
alter table rptapp_batches change column id id int auto_increment;
Первый и последний операторы необходимы, если pk также auto_increment
.
Комментарии:
1. У меня очень похожий вопрос, если у вас есть минутка! dba.stackexchange.com/questions/163968 /…