Maison > base de données > tutoriel mysql > Comment ajouter une incrémentation automatique aux clés primaires de table MySQL existantes ?

Comment ajouter une incrémentation automatique aux clés primaires de table MySQL existantes ?

DDD
Libérer: 2024-10-29 13:08:29
original
337 Les gens l'ont consulté

How Do I Add Auto-Increment to Existing MySQL Table Primary Keys?

Ajout d'une incrémentation automatique aux clés primaires de table MySQL existantes

Après avoir acquis une base de données dépourvue d'auto-incrémenteurs sur les tables avec des ID de clé primaire, vous peut être nécessaire de les convertir en colonnes à incrémentation automatique. Vous pouvez y parvenir en suivant les étapes suivantes :

  1. Modifier la définition de la colonne :

    Utilisez l'instruction ALTER TABLE avec la clause MODIFY COLUMN pour redéfinir la colonne de clé primaire comme AUTO_INCREMENT. Par exemple, pour modifier la colonne id dans la table foo :

    ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
    Copier après la connexion
  2. Vérifiez l'effet :

    Exécutez SHOW CREATE TABLE foo pour confirmer que la modification a pris effet. La sortie doit afficher la définition de colonne mise à jour avec l'option AUTO_INCREMENT.

  3. Test d'insertion :

    Insérer une nouvelle ligne dans le tableau sans spécifier de valeur pour la colonne id :

    INSERT INTO foo () VALUES ();
    Copier après la connexion

    La ligne nouvellement insérée se verra attribuer la valeur générée automatiquement.

Erreur de dépannage 150 :

Si vous rencontrez une erreur « Erreur lors du renommage de… (erreur : 150) » au cours du processus, cela peut indiquer un conflit avec les contraintes de clé étrangère. Vous pouvez vous référer aux ressources suivantes pour obtenir de l'aide pour diagnostiquer le problème :

  • [Que signifie l'erreur MySQL 1025 (HY000) : Erreur lors du changement de nom de '.foo' (erreur : 150) ?]( https://stackoverflow.com/questions/11444139/what-does-mysql-error-1025-hy000-error-on-rename-of-foo-errorno-150-me)
  • [http:/ /www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html](http://www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal