Maison >base de données >tutoriel mysql >Comment créer des contraintes de clé étrangère dans MySQL
La création de contraintes de clé étrangère dans MySQL peut forcer l'association des enregistrements de sous-table aux enregistrements de la table principale pour garantir l'intégrité des données. Les étapes spécifiques incluent : 1. Spécifier la colonne de clé étrangère de la sous-table ; 2. Référencer la colonne d'index unique de la table principale ; 3. Configurer les opérations de suppression ou de mise à jour en cascade (facultatif).
Les contraintes de clé étrangère sont une contrainte de base de données utilisée pour garantir l'intégrité des données dans une table. Cela force chaque enregistrement de la table enfant à référencer un enregistrement existant dans la table principale.
Dans MySQL, vous pouvez créer une contrainte de clé étrangère en spécifiant la contrainte de clé étrangère lors de la création de la table enfant. La syntaxe est la suivante :
<code class="sql">CREATE TABLE child_table ( child_column INT NOT NULL, PRIMARY KEY (child_column), FOREIGN KEY (child_column) REFERENCES parent_table (parent_column) );</code>
où :
child_table
est le nom de la table enfant. child_table
是子表名称。parent_table
是主表名称。child_column
是子表中的外键列。parent_column
是主表中的引用列。外键约束创建后,将强制执行以下规则:
使用外键约束有很多好处:
ON DELETE CASCADE
和 ON UPDATE CASCADE
parent_table
est le nom de la table principale. child_column
est une colonne de clé étrangère dans la table enfant. 🎜🎜parent_column
est une colonne de référence dans la table principale. 🎜🎜🎜Signification des contraintes de clé étrangère🎜🎜Lorsqu'une contrainte de clé étrangère est créée, les règles suivantes sont appliquées : 🎜🎜🎜Chaque enregistrement de la table enfant doit faire référence à un enregistrement existant dans la table principale. 🎜🎜Si l'enregistrement référencé dans la table principale est supprimé, l'enregistrement référencé dans la table enfant sera également supprimé (suppression en cascade). 🎜🎜Si l'enregistrement référencé dans la table principale est mis à jour, l'enregistrement référencé dans la table enfant sera également mis à jour (mise à jour en cascade). 🎜🎜🎜Avantages de l'utilisation de contraintes de clé étrangère🎜🎜L'utilisation de contraintes de clé étrangère présente de nombreux avantages : 🎜🎜🎜Assurer l'intégrité des données : Les contraintes de clé étrangère empêchent l'insertion de clés étrangères dans les tables enfants qui pointent vers valeur clé d'enregistrement inexistante. 🎜🎜Association de données forcée : Les contraintes de clé étrangère forcent les enregistrements d'une table enfant à être associés aux enregistrements de la table principale. 🎜🎜Maintenance simplifiée des données : Les contraintes de clé étrangère simplifient la maintenance des données car lorsqu'un enregistrement de la table principale est supprimé ou mis à jour, l'enregistrement de la table enfant sera automatiquement mis à jour ou supprimé. 🎜🎜🎜Remarque🎜🎜🎜Les colonnes de la table principale doivent avoir des index uniques :Les colonnes de clé étrangère doivent référencer des colonnes de la table principale qui ont des index uniques. 🎜🎜La colonne de clé étrangère doit exister dans la table enfant : La colonne de clé étrangère doit être une colonne existante dans la table enfant. 🎜🎜Les opérations de suppression et de mise à jour en cascade sont facultatives : Les suppressions en cascade peuvent être activées en spécifiant les options ON DELETE CASCADE
et ON UPDATE CASCADE
et les opérations de mise à jour. . 🎜🎜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!