Maison base de données tutoriel mysql Comment changer la clé primaire composite en clé primaire unique

Comment changer la clé primaire composite en clé primaire unique

May 27, 2019 pm 02:52 PM
mysql

La clé primaire dite composite signifie que la clé primaire de votre table contient plus d'un champ et n'utilise pas d'identifiant auto-incrémenté sans signification commerciale comme clé primaire.

Par exemple

1

2

3

4

5

6

7

create table test

(

   name varchar(19),

   id number,

   value varchar(10),

   primary key (name,id)

)

Copier après la connexion

La combinaison des champs name et id ci-dessus est la clé primaire composite de votre table de test. Elle apparaît car votre champ name peut avoir le même nom, vous devez donc le faire. ajoutez l'ID. Les champs peuvent garantir l'unicité de vos enregistrements. De manière générale, la longueur et le nombre de champs de la clé primaire doivent être aussi petits que possible.

Comment changer la clé primaire composite en clé primaire unique

Il y aura un doute ici ? La clé primaire est le seul index, alors pourquoi une table peut-elle créer plusieurs clés primaires ?

En fait, "la clé primaire est le seul index" est un peu ambigu. Par exemple, nous créons un champ ID dans la table, le développons automatiquement et le définissons comme clé primaire. Cela ne pose aucun problème car "La clé primaire est le seul index", et l'ID grandit automatiquement jusqu'à. garantir l'unicité, alors oui.

À ce stade, nous créons un autre nom de champ avec le type varchar et le définissons comme clé primaire. Vous constaterez que vous pouvez remplir la même valeur de nom dans plusieurs lignes de la table. ? Cette phrase est-elle « la clé primaire est le seul index » ?

C'est pourquoi j'ai dit que « la clé primaire est le seul index » est ambigu. Cela devrait être "Quand il n'y a qu'une seule clé primaire dans la table, c'est le seul index ; lorsqu'il y a plusieurs clés primaires dans la table, on parle de clé primaire composite, et la combinaison des clés primaires composites garantit un unique indice."

Pourquoi l'ID auto-croissant est-il une clé primaire qui peut être utilisée comme identifiant unique, alors pourquoi une clé primaire composite est-elle encore nécessaire ? Parce que toutes les tables ne doivent pas nécessairement avoir le champ ID. Par exemple, si nous construisons une table d'étudiant et qu'il n'y a pas d'ID identifiant de manière unique l'étudiant, que devons-nous faire ? Un seul champ ne peut pas être utilisé pour une identification unique. À l'heure actuelle, nous pouvons définir plusieurs champs comme clés primaires pour former une clé primaire composite. Parmi eux, il n'y a aucun problème si certaines valeurs de champ de clé primaire. sont répétés, tant qu'il n'y a pas plusieurs enregistrements. Si toutes les valeurs de clé primaire sont exactement les mêmes, elles ne sont pas considérées comme des doublons.

Comment changer la clé primaire composite en une clé primaire unique

Une table ne peut avoir qu'une seule clé primaire :

Clé primaire basée sur une colonne :

alter table test ajouter une contrainte PK_TEST primaire key(ename);

Clé primaire commune basée sur plusieurs colonnes :

alter table test add contrainte PK_TEST clé primaire(ename,anniversaire);

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

Comment insérer des données dans une table MySQL en utilisant PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

Comment utiliser les procédures stockées MySQL en PHP ?

Comment créer une table MySQL en utilisant PHP ? Comment créer une table MySQL en utilisant PHP ? Jun 04, 2024 pm 01:57 PM

Comment créer une table MySQL en utilisant PHP ?

See all articles