Maison > base de données > tutoriel mysql > Comment ajouter un ID à incrémentation automatique à une table avec une clé primaire existante dans MySQL ?

Comment ajouter un ID à incrémentation automatique à une table avec une clé primaire existante dans MySQL ?

Patricia Arquette
Libérer: 2024-12-30 04:17:14
original
712 Les gens l'ont consulté

How to Add an Auto-Increment ID to a Table with an Existing Primary Key in MySQL?

Ajout d'un ID à incrémentation automatique à une table existante avec clé primaire

Améliorer une table existante avec un ID à incrémentation automatique est une exigence courante dans la gestion de bases de données. Cependant, l'ajout d'une colonne à incrémentation automatique à une table qui possède déjà une clé primaire peut présenter des défis.

Lorsque vous essayez d'ajouter une colonne à incrémentation automatique à l'aide de l'instruction :

ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
Copier après la connexion

vous pouvez rencontrer l'erreur :

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Copier après la connexion

Cela est dû au fait que MySQL n'autorise qu'une seule colonne à incrémentation automatique par table, et elle doit être désignée comme colonne principale key.

Pour résoudre ce problème, vous devez d'abord modifier la clé primaire existante pour autoriser l'auto-incrémentation, puis ajouter la nouvelle colonne d'auto-incrémentation. Voici un exemple :

ALTER TABLE `users`
MODIFY COLUMN `id` INT NOT NULL AUTO_INCREMENT,
ADD COLUMN `name` VARCHAR(255) NOT NULL
Copier après la connexion

En exécutant cette requête, vous modifiez la colonne id existante pour qu'elle s'incrémente automatiquement et ajoutez une nouvelle colonne de nom à la table. La colonne id servira désormais à la fois de clé primaire et d'ID d'incrémentation automatique.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal