Первичным ключом в таблице является целое число с опцией auto_increment. Я удалил запись в таблице с id(первичным ключом) 4. Id следующей записи осталось 5, следующей 6 и т.д. Как перезаписать id каждой записи?
Этого делать НЕЛЬЗЯ.
Назначение первичного ключа - однозначная идентификация записи таблицы. Причём на протяжении всего срока жизни таблицы. Именно таблицы, а не записи - т.е. даже если запись из неё удалена, значение ПК этой записи больше никогда не должно использоваться.
Хотите непрерывную нумерацию? заведите для этого отдельное поле и издевайтесь над ним как угодно, например:
-- создание поля
ALTER TABLE `table` ADD COLUMN numbering BIGINT NOT NULL;
-- инициализация начального значения (на 1 меньше)
SET @num := 0;
-- нумерация поля с требуемым порядком сортировки
UPDATE `table` SET numbering = (@num := @num + 1) ORDER BY id ASC;
Понятно, вторую и третью операции можно выполнять в любой момент, когда потребуется перенумерация, в т.ч. меняя требуемую сортировку (направление и/или поле).
А первичный ключ не трогайте.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости