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 users
Respuestas:
Prueba esto
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
fuente
FIRST
a la consulta para que sea la primera en esta tabla.ALTER TABLE users DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
FIRST
por ejemploALTER TABLE tbl1 ADD id INT PRIMARY KEY AUTO_INCREMENT FIRST
Si 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
FIRST
ahí?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 key
fuente
Multiple primary key defined
porque 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 KEY
Primero tienes que eliminar la clave principal 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
fuente
Duplicate column name 'id'
Bueno, primero debes soltar el
auto_increment
yprimary key
tienes 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
id
a 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_INCREMENT
A
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
fuente
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
el 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 FIRST
fuente
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 GO
y luego escriba su consulta como está.
fuente
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
Prueba 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 KEY
fuente
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