Добавить идентификатор автоинкремента в существующую таблицу?

У меня есть уже существующая таблица, содержащая 'fname', 'lname', 'email', 'password' и 'ip'. Но теперь мне нужен столбец с автоматическим увеличением. Однако, когда я вхожу:

ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT

Я получаю следующее:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Любой совет?:)

Ответ 1

Попробуйте это

ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY

Ответ 2

Если вам все равно, используется ли auto-id как PRIMARY KEY, вы можете просто сделать

ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;

Я просто сделал это, и это сработало.

Ответ 3

Сначала вам нужно удалить первичный ключ таблицы

ALTER TABLE nametable DROP PRIMARY KEY

и теперь yo может добавить автоинкремент...

ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY

Ответ 4

Если вы хотите добавить AUTO_INCREMENT в существующую таблицу, необходимо выполнить следующую команду SQL:

 ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key

Ответ 5

Ну, сначала вы должны отбросить auto_increment и primary key, а затем добавить свои, следующим образом:

-- drop auto_increment capability
alter table `users` modify column id INT NOT NULL;
-- in one line, drop primary key and rebuild one
alter table `users` drop primary key, add primary key(id);
-- re add the auto_increment capability, last value is remembered
alter table `users` modify column id INT NOT NULL AUTO_INCREMENT;

Ответ 6

ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT

целочисленный параметр основан на моей настройке sql по умолчанию иметь хороший день

Ответ 7

ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST

Ответ 8

Просто измените ADD на MODIFY, и он будет работать!

Заменить

ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT

To

ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;

Ответ 9

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

ALTER TABLE Table1
DROP CONSTRAINT PK_Table1_Col1
GO

а затем напишите свой запрос, как есть.

Ответ 10

Выполните следующие действия:

Make a dump of your database first

Remove the primary key like that

ALTER TABLE yourtable DROP PRIMARY KEY

Add the new column like that

ALTER TABLE столбец добавления столбца ИД INT NOT NULL AUTO_INCREMENT FIRST, ADD основной идентификатор KEY (Id)

Таблица будет просмотрена и обновлен AutoInc.