Maison >base de données >tutoriel mysql >mysql advanced (11) Le rôle des clés étrangères dans la base de données

mysql advanced (11) Le rôle des clés étrangères dans la base de données

黄舟
黄舟original
2017-02-10 10:45:501479parcourir

MySQLLe rôle des clés étrangères dans la base de données

MySQLLe but des clés étrangères est de contrôler le stockage dans tables de clés étrangères Les données relient les deux tables. C'est une partie très importante de la base de données MySQL et mérite notre compréhension approfondie. Alors, MySQLQuel rôle jouent les clés étrangères ? Ce qui suit vous amènera à explorer les secrets.

MySQLLe rôle des clés étrangères

Maintenir la cohérence et l'intégrité des données L'objectif principal est de contrôler les données stockées dans la table de clés étrangères. Pour associer deux tables, les clés étrangères ne peuvent référencer que les valeurs des colonnes de la table !

Exemple1

a b Deux tables

aLa table contient le numéro de client et le nom du client

bLa commande de chaque client est stockée dans le tableau

Avec la clé étrangère, vous ne pouvez confirmer que b x peut être supprimé de la table a seulement après qu'il n'y ait pas de commande pour le client x

Prérequis pour l'établissement des clés étrangères

Les colonnes de cette table doivent être du même type que la clé étrangère

(La clé étrangère doit être la clé primaire de la clé étrangère clé).

Précisez le mot-clé de la clé primaire :

clé étrangère(Nom de la colonne)

Citez le mot-clé de la clé étrangère :

références 1c2dcf3ee9028e826c4cd5bdd9aacd72(Nom de la colonne de clé étrangère)

Restrictions de déclenchement d'événements

lors de la suppression

et lors de la mise à jour, peut définir des paramètrescascade(suit en dehors des changements de clé), restreindre(Limiter les modifications de clé étrangère dans la table), définir Null(Définir la valeur nulle) , définir la valeur par défaut(définir la valeur par défaut),[par défaut]aucune action

exemple

2

outTable

clé primaire de la table id type int

Créer une table avec des clés étrangères :

 create table temp(
        id int,
        name char(20),
        foreign key(id) references outTable(id) on delete cascade on update cascade);
Description : Définissez la colonne

id sur MySQL clé étrangère, reportez-vous à la colonne id de la tableoutTable. Lorsque la valeur de la clé étrangère est supprimée, la colonne correspondante dans ce tableau est supprimée Lorsque la valeur de la clé étrangère change, la valeur de la colonne correspondante dans ce tableau change.

Remarque

Dans MySQL

une table ne peut avoir qu'une seule clé primaire, et la clé primaire peut être composée de plusieurs champs.

Beaux textes et images



Ce qui précède est le rôle des clés étrangères MySQL Advanced (11) dans la base de données Contenu, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !


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