Как происходит сброс столбца AUTO_INCREMENT в MySQL - PullRequest
1 голос
/ 23 февраля 2011

Несколько вопросов о сбросе MySQL в столбце AUTO_INCREMENT.

Сначала без удаления / создания таблицы или удаления строк через TRUNCATE TABLE (см. Нижний колонтитул для этого кода) - это правильный способ сделать это?

ALTER TABLE [insert_TABLE_name] AUTO_INCREMENT = 1

Далее, установлено ли значение 0 или 1 - и почему?

Бонус, любые дополнительные советы.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Он установлен на то, что вы используете в запросе alter table, в вашем случае это 1.Однако, поскольку вы не удаляете строки, теперь вы, вероятно, настроили себя на нарушение первичного ключа, поскольку ваша следующая вставленная строка будет пытаться использовать это 1 и конфликтовать с ранее созданной строкой с тем же ключом.

1 голос
/ 23 февраля 2011

Вы не можете сбросить счетчик до значения, которое меньше или равно значению, которое уже использовалось.

вы пытаетесь установить счетчик auto_increment обратно в 1, но он уже выше этого значения, и, поскольку вы не можете сбросить его до значения, которое меньше любого значения, которое уже использовалось, оно не работает.

...