Comment ajouter auto INCREMENT à une colonne existante?
7 réponses
je pense que vous voulez MODIFY
la colonne comme décrit pour le ALTER TABLE
commande . Cela pourrait être quelque chose comme ceci:
ALTER TABLE t1 MODIFY b INTEGER NOT NULL AUTO_INCREMENT;
méthode pour ajouter AUTO_ incrément à une table avec les données tout en évitant " entrée en double "erreur:
-
faites une copie du tableau avec les données en utilisant insérez sélectionnez:
CREATE TABLE backupTable LIKE originalTable; INSERT backupTable SELECT * FROM originalTable;
-
supprimer les données du tableau original (pour supprimer les entrées en double):
TRUNCATE TABLE originalTable;
-
pour ajouter AUTO_ incrément et clé primaire
ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
-
Copie de données vers originalTable (faire pas comprennent nouvellement créé colonne (id), car il sera automatiquement renseigné)
INSERT originalTable (col1, col2, col3) SELECT col1, col2,col3 FROM backupTable;
-
supprimer le tableau de secours:
DROP TABLE backupTable;
j'espère que c'est utile!
plus sur la duplication des tables en utilisant créer comme:
Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
vous devez ajouter la clé primaire à auto increment, sinon vous avez une erreur dans mysql.
cela a fonctionné pour moi dans le cas où vous voulez changer L'attribut AUTO_ incrément-pour une table non vide:
1.) Exportait la table entière sous forme de .fichier sql
2.)A supprimé le tableau après exportation
2.) Did neededed change in CREATE_TABLE command
3.) Exécuté les commandes CREATE_TABLE et INSERT_INTO à partir du .sql-fichier
...et viola
il suffit D'ajouter Auto_ increment Constraint dans la colonne ou de modifier la colonne: -
ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
ou ajouter une colonne puis changer la colonne comme -
1. Alter TABLE `emp` ADD COLUMN `id`;
2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
j'ai réussi à le faire avec le code suivant:
ALTER TABLE `table_name`
CHANGE COLUMN `colum_name` `colum_name` INT(11) NOT NULL AUTO_INCREMENT FIRST;
c'est la seule façon que j'ai pu faire une augmentation automatique de colonne.
INT (11) montre que la longueur maximale int est de 11, Vous pouvez sauter si vous voulez.
Alter table table_name modify table_name.column_name data_type AUTO_INCREMENT;
par exemple:
Alter table avion modify avion.av int AUTO_INCREMENT;