# 1062 - Дублирующая запись '1' для ключа 1 при включении Auto_increment - PullRequest
0 голосов
/ 20 февраля 2012

Когда я пытаюсь включить auto_increment для столбца в phpmyadmin, но я всегда получаю эту ошибку:

#1062 - Duplicate entry '1' for key 1 

Столбец, о котором идет речь, это PK и INT. В нем уже есть несколько строк. Из-за этого я попробовал следующее:

ALTER TABLE Persons AUTO_INCREMENT=7

Это должно было установить автоматическое увеличение на 7, и, таким образом, пропустить от 0 до 6, которые уже существуют в этой строке ... но это не сработало. Или это была теория.

Что я делаю не так?


Обновление:

Я попытался удалить индекс PK для столбца и выполнить запрос, задав для столбца значение NULL. Все было установлено на NULL. Затем я попытался добавить auto increment и получил следующую ошибку: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key. Я пытаюсь добавить индекс PK снова и получаю следующее #1062 - Duplicate entry '0' for key 1. Argh.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Попробуйте: alter table Persons modify id integer unsigned primary key auto_increment;

, где id - это интересующий столбец

0 голосов
/ 20 февраля 2012

При попытке добавить auto_increment в существующую таблицу необходимо убедиться, что все значения ключей, уже имеющиеся в таблице, являются уникальными.

Установка значения столбца на NULL должна работать.Затем MySQL автоматически заполнит значения значениями с автоинкрементом.

...