У меня есть уже существующая таблица, содержащая "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
Любой совет?:)
mysql
sql
definition
auto-increment
Чарльз Дженкинс
источник
источник
describe users
Ответы:
Попробуй это
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT;
для существующего первичного ключа
источник
FIRST
к запросу, чтобы он стал первым в этой таблице.ALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
FIRST
например,ALTER TABLE tbl1 ADD id INT PRIMARY KEY AUTO_INCREMENT FIRST
Если вам все равно, используется ли автоматический идентификатор
PRIMARY KEY
, вы можете просто сделатьALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
Я просто сделал это, и это сработало.
источник
FIRST
делает?Если вы хотите добавить AUTO_INCREMENT в существующую таблицу, необходимо выполнить следующую команду SQL:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key
источник
Multiple primary key defined
потому что у вас уже есть первичный ключ в таблице. Таблица может иметь только один первичный ключ. Повторите указанную выше команду для таблицы, если у нее нет первичного ключаALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Сначала вам нужно удалить первичный ключ таблицы
ALTER TABLE nametable DROP PRIMARY KEY
и теперь вы можете добавить автоинкремент ...
ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
источник
Duplicate column name 'id'
Что ж, вы должны сначала отбросить
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;
источник
Если вы запустите следующую команду:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
Это покажет вам ошибку:
Это потому, что эта команда попытается добавить новый столбец с именем
id
в существующую таблицу.Чтобы изменить существующий столбец, вы должны использовать следующую команду:
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
Это должно работать для изменения существующего ограничения столбца ....!
источник
Удалите первичный ключ таблицы, если он существует:
ALTER TABLE `tableName` DROP PRIMARY KEY;
Добавление столбца с автоинкрементом в таблицу:
ALTER TABLE `tableName` ADD `Column_name` INT PRIMARY KEY AUTO_INCREMENT;
Измените столбец, который мы хотим рассматривать как первичный ключ:
alter table `tableName` modify column `Column_name` INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
источник
Просто измените ДОБАВИТЬ на ИЗМЕНИТЬ, и все заработает!
Заменить
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
Чтобы
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
источник
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
целочисленный параметр основан на моей настройке sql по умолчанию, хорошего дня
источник
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
источник
Для PostgreSQL вы должны использовать SERIAL вместо auto_increment.
ALTER TABLE your_table_name ADD COLUMN id SERIAL NOT NULL PRIMARY KEY
источник
Проверьте уже существующий первичный ключ в другом столбце. Если да, удалите первичный ключ, используя:
ALTER TABLE Table1 DROP CONSTRAINT PK_Table1_Col1 GO
а затем напишите свой запрос как есть.
источник
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
Попробуй это. Не нужно отказываться от первичного ключа.
источник
Поступайте так:
ALTER TABLE yourtable DROP PRIMARY KEY
ALTER TABLE yourtable добавить идентификатор столбца INT NOT NULL AUTO_INCREMENT FIRST, ADD primary KEY Id (Id)
Таблица будет просмотрена и AutoInc обновлен.
источник