Maison > base de données > tutoriel mysql > Comment supprimer une clé primaire dans MySQL lorsqu'une colonne d'auto-incrémentation existe ?

Comment supprimer une clé primaire dans MySQL lorsqu'une colonne d'auto-incrémentation existe ?

Patricia Arquette
Libérer: 2024-12-25 13:36:13
original
929 Les gens l'ont consulté

How to Drop a Primary Key in MySQL When an Autoincrement Column Exists?

Suppression des clés primaires dans MySQL

Énoncé du problème :

Un utilisateur rencontre une erreur lorsque tentative de suppression des clés primaires de deux colonnes d'une table MySQL, user_customer_permission. Lors de l'émission de la commande "alter table user_customer_permission drop Primary Key;", ils reçoivent l'erreur "Définition de table incorrecte ; il ne peut y avoir qu'une seule colonne automatique et elle doit être définie comme une clé."

Réponse :

MySQL exige qu'une colonne d'auto-incrémentation (telle que la colonne id dans ce cas) fasse partie d'un index. Pour résoudre le problème, l'utilisateur doit d'abord supprimer la propriété d'auto-incrémentation de la colonne id avant de supprimer la clé primaire.

Les étapes suivantes décrivent la solution :

  1. Supprimer la propriété d'auto-incrémentation :

    ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
    Copier après la connexion
  2. Supprimer le primaire Clé :

    ALTER TABLE user_customer_permission DROP PRIMARY KEY;
    Copier après la connexion

Considérations supplémentaires :

Étant donné que l'utilisateur a spécifié une clé primaire composite impliquant les trois colonnes, l'identifiant n’est pas garanti d’être unique. Cependant, s'il s'avère qu'elle est unique, la commande suivante peut être utilisée pour rétablir l'identifiant en tant que clé primaire et colonne d'auto-incrémentation :

ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
Copier après la connexion

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