2013-06-12 5 views
1

У меня есть таблица с идентификаторами 1, 4, 8, 12. Я хочу сделать это 1, 2, 3, 4. НО У меня есть другая таблица, ссылающаяся на эти идентификаторы номера. Как мне это сделать? СпасибоСбросить идентификаторы строк в таблице отношений mysql

+0

Почему вы хотите это сделать? Какую проблему ты пытаешься решить. Значение PK не имеет никакого значения **. Нет необходимости изменять эти значения. –

+0

Только суррогатные ключи не имеют никакого значения. Но это, вероятно, имеет место здесь (и изменение первичного ключа всегда проблематично, независимо от того, является ли он суррогатным ключом или нет) – RandomSeed

+2

Не пытайтесь иметь приятные порядковые номера, если вы используете 'auto_increment' MySQL. Просто держите его так, как есть, не пытайтесь «исправить» его или что-то в этом роде, есть серьезные последствия, если вы это сделаете. –

ответ

1

Если справочная таблица - InnoDB, измените ограничение внешнего ключа и дайте ему свойство ON UPDATE CASCADE. Затем все изменения в ссылочном поле будут каскадированы до таблицы ссылок.

Here is a small example.

Смежные вопросы