Tengo una tabla preexistente que contiene "fname", "lname", "email", "contraseña" e "ip". Pero ahora quiero una columna de incremento automático. Sin embargo, cuando entro:
ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
Obtengo lo siguiente:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
¿Algún consejo?:)
mysql
sql
definition
auto-increment
Charles Jenkins
fuente
fuente

describe usersRespuestas:
Prueba esto
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEYfuente
FIRSTa la consulta para que sea la primera en esta tabla.ALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEYFIRSTpor ejemploALTER TABLE tbl1 ADD id INT PRIMARY KEY AUTO_INCREMENT FIRSTSi no le importa si la identificación automática se usa como
PRIMARY KEY, simplemente puede hacerALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;Acabo de hacer esto y funcionó de maravilla.
fuente
FIRSTahí?Si desea agregar AUTO_INCREMENT en una tabla existente, debe ejecutar el siguiente comando SQL:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary keyfuente
Multiple primary key definedporque ya tienes una clave principal sobre la mesa. Una tabla solo puede tener una clave principal. Vuelva a intentar el comando anterior en la mesa cuando no tenga una clave principalALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEYPrimero tienes que eliminar la clave principal de la tabla
ALTER TABLE nametable DROP PRIMARY KEYy ahora puedes agregar el autoincremento ...
ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEYfuente
Duplicate column name 'id'Bueno, primero debes soltar el
auto_incrementyprimary keytienes y luego agregar el tuyo, 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;fuente
Si ejecuta el siguiente comando:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT PRIMARY KEY;Esto le mostrará el error:
Esto se debe a que este comando intentará agregar la nueva columna nombrada
ida la tabla existente.Para modificar la columna existente tienes que usar el siguiente comando:
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT PRIMARY KEY;¡Esto debería funcionar para cambiar la restricción de columna existente ...!
fuente
Elimina la clave principal de una tabla si existe:
ALTER TABLE `tableName` DROP PRIMARY KEY;Agregar 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;fuente
¡Simplemente cambie el AÑADIR a MODIFICAR y funcionará!
Reemplazar
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENTA
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;fuente
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENTel parámetro entero se basa en mi configuración predeterminada de sql que tenga un buen día
fuente
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRSTfuente
Verifique 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 GOy luego escriba su consulta como está.
fuente
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT uniquePrueba esto. No es necesario dejar caer su clave principal.
fuente
Para PostgreSQL, debe usar SERIAL en lugar de auto_increment.
ALTER TABLE your_table_name ADD COLUMN id SERIAL NOT NULL PRIMARY KEYfuente
Proceda así:
ALTER TABLE yourtable DROP PRIMARY KEY
ALTER TABLE tu tabla agrega Id de columna INT NOT NULL AUTO_INCREMENT FIRST, ADD Primary KEY Id (Id)
Se revisará la tabla y se actualizará AutoInc.
fuente