102 votes

Comment ajouter AUTO_INCREMENT à une colonne existante ?

Comment ajouter auto_increment à une colonne existante d'une table MySQL ?

1voto

Fluch Points 221

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 le seul moyen que j'ai trouvé pour qu'une colonne s'incrémente automatiquement.

INT(11) montre que la longueur maximale d'un int est de 11, vous pouvez l'ignorer si vous le souhaitez.

1voto

Maria Points 11

Alter table table_name modify table_name.column_name data_type AUTO_INCREMENT;

eg :

Alter table avion modify avion.av int AUTO_INCREMENT;

0voto

user4626745 Points 11

Si vous avez des contraintes FK et que vous ne voulez pas supprimer la contrainte de la table, utilisez "index" au lieu de primaire. vous pourrez alors modifier son type en incrémentation automatique.

0voto

PHPGuru Points 93

J'avais des données existantes dans la première colonne et elles étaient des 0. J'ai d'abord rendu la première colonne nullable. Ensuite, j'ai défini les données de la colonne comme étant nulles. Ensuite, j'ai défini la colonne comme un index. Ensuite, j'en ai fait une clé primaire avec l'incrémentation automatique activée. C'est là que j'ai utilisé la réponse d'une autre personne ci-dessus :

ALTER TABLE `table_name` CHANGE COLUMN `colum_name` `colum_name` INT(11) NOT NULL AUTO_INCREMENT FIRST;

Ceci ajoute des numéros à toutes les lignes de ce tableau en commençant par un. Si j'exécute d'abord le code ci-dessus, il ne fonctionne pas car toutes les valeurs sont des 0. De plus, il était nécessaire de créer un index avant de procéder à l'incrémentation automatique. Ensuite, j'ai fait de la colonne une clé primaire.

0voto

devika_1 Points 1

Cela a fonctionné dans mon cas, si vous voulez changer l'attribut d'une colonne qui contient déjà des données pour qu'elle s'incrémente automatiquement.

1. aller à la structure, sélectionner la colonne à modifier. 2) Après avoir sélectionné la colonne, choisissez la clé primaire parmi les options ci-dessous. [1] : https://i.stack.imgur.com/r7w8f.png 3) Modifier ensuite l'attribut de la colonne pour qu'elle soit auto-incrémentée en utilisant la méthode alter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X