MySQL Добавляет x к текущему значению первичного ключа

#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 /…