Maison >base de données >tutoriel mysql >Comment supprimer les clés primaires des colonnes dans MySQL tout en conservant l'incrémentation automatique ?

Comment supprimer les clés primaires des colonnes dans MySQL tout en conservant l'incrémentation automatique ?

DDD
DDDoriginal
2024-12-28 15:16:10796parcourir

How to Remove Primary Keys from Columns in MySQL While Keeping Auto-Increment?

Suppression des clés primaires dans MySQL

Question :

Comment supprimer les clés primaires de colonnes spécifiques dans une table MySQL tout en conservant un identifiant auto-incrémenté comme identifiant principal clé ?

Réponse :

Contexte :

Dans MySQL, une colonne à incrémentation automatique doit être définie dans le cadre de un index, ce qui rend difficile la suppression des clés primaires d'autres colonnes sans erreurs.

Solution :

Pour supprimer les clés primaires de colonnes spécifiques, suivez ces étapes :

  1. Désactiver l'incrémentation automatique : Utilisez l'instruction ALTER TABLE pour modifier le type de données de la colonne id en INT et supprimer le NOT NULL contrainte.
ALTER TABLE user_customer_permission MODIFY id INT;
  1. Supprimer la clé primaire : Une fois la propriété d'incrémentation automatique supprimée, utilisez l'instruction ALTER TABLE pour supprimer la contrainte de clé primaire de user_customer_id et colonnes permission_id.
ALTER TABLE user_customer_permission DROP PRIMARY KEY;

Supplémentaires Considérations :

  • La clé primaire composite d'origine s'étendait sur les trois colonnes, la colonne id peut donc ne pas être unique.
  • Si l'identifiant est unique, vous pouvez réactiver le Propriétés de clé primaire et d'incrémentation automatique sur la colonne id.
ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

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:
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