mysql - existing - ¿Agregar ID de incremento automático a la tabla existente?
mysql add auto_increment column to existing table (12)
Bueno, primero debes eliminar el auto_increment
y primary key
que tienes y luego agregar la tuya, de la siguiente manera:
-- 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;
Tengo una tabla preexistente, que contiene ''fname'', ''lname'', ''email'', ''password'' y ''ip''. Pero ahora quiero una columna de incremento automático. Sin embargo, cuando entro:
ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
Me sale lo siguiente:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
¿Algún consejo?:)
Compruebe la clave principal ya existente con una columna diferente. Si es así, suelte la clave principal usando:
ALTER TABLE Table1
DROP CONSTRAINT PK_Table1_Col1
GO
y luego escribe tu consulta como es.
Eliminar la clave principal de una tabla si existe:
ALTER TABLE `tableName` DROP PRIMARY KEY;
Añadiendo una columna de incremento automático a una tabla:
ALTER TABLE `tableName` ADD `Column_name` INT PRIMARY KEY AUTO_INCREMENT;
Modifique la columna que queremos considerar como clave principal:
alter table `tableName` modify column `Column_name` INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
Primero tienes que eliminar la clave primaria de la tabla.
ALTER TABLE nametable DROP PRIMARY KEY
y ahora puedes agregar el autoincremento ...
ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Proceda así:
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 yourtable agregar columna Id. INT NOT NULL AUTO_INCREMENT FIRST, AGREGAR KEY Id principal (Id)
Se verá la tabla y se actualizará el AutoInc.
Prueba esto
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Si desea agregar AUTO_INCREMENT en una tabla existente, necesita ejecutar el siguiente comando SQL:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key
Si no te importa si la identificación automática se usa como PRIMARY KEY
, puedes hacerlo
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
Acabo de hacer esto y funcionó de maravilla.
Simplemente cambia el AGREGAR a MODIFICAR y funcionará!
Reemplazar
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
A
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
Prueba esto. No es necesario que sueltes tu clave principal.
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
el parámetro entero se basa en mi configuración de SQL predeterminada que tenga un buen día