Maison >base de données >tutoriel mysql >Comment écrire des contraintes de clé étrangère lors de la création d'une table dans MySQL
La syntaxe de contrainte de clé étrangère MySQL est la suivante : ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column), qui garantit l'intégrité de la relation entre les deux tables. Les fonctions des contraintes de clé étrangère incluent : 1. Intégrité des données : la référence de table enfant contrainte doit exister dans la table parent ; 2. Mise à jour en cascade : mettre à jour automatiquement toutes les références lorsque la valeur de la clé primaire de la table parent change ; clé primaire de la table Toutes les références sont automatiquement supprimées lorsque la valeur est supprimée.
Syntaxe de contrainte de clé étrangère MySQL
Dans MySQL, les contraintes de clé étrangère sont utilisées pour garantir l'intégrité de la relation entre deux tables. La syntaxe est la suivante :
<code>ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column)</code>
Où :
child_table
: La table à laquelle les contraintes de clé étrangère doivent être ajoutées. child_table
:需要添加外键约束的表。foreign_key_column
:child_table
中引用 parent_table
主键的列。parent_table
:被引用的表,其主键用于定义约束。primary_key_column
:parent_table
中被引用的主键列。外键约束的作用
外键约束有助于确保以下事项:
示例
假设我们有两个表:orders
和 order_items
:
<code>CREATE TABLE orders ( order_id INT NOT NULL AUTO_INCREMENT, customer_id INT NOT NULL, PRIMARY KEY (order_id) ); CREATE TABLE order_items ( item_id INT NOT NULL AUTO_INCREMENT, order_id INT NOT NULL, product_id INT NOT NULL, PRIMARY KEY (item_id), FOREIGN KEY (order_id) REFERENCES orders (order_id) );</code>
在此示例中,order_items
表的外键约束确保了每个 order_id
值在 orders
表中都存在。这意味着我们无法在 order_items
表中插入没有在 orders
表中存在的 order_id
foreign_key_column
: La colonne de child_table
qui fait référence à la clé primaire de parent_table
.
parent_table
: La table référencée dont la clé primaire est utilisée pour définir les contraintes. 🎜primary_key_column
: La colonne de clé primaire référencée dans parent_table
. 🎜🎜Rôle des contraintes de clé étrangère🎜🎜🎜Les contraintes de clé étrangère aident à garantir les éléments suivants : 🎜🎜🎜🎜Intégrité des données : 🎜Empêcher les insertions dans les tables enfants qui n'existent pas dans la table parent Quote. 🎜🎜Mise à jour en cascade : 🎜Lorsque la valeur de la clé primaire dans la table parent change, mettez automatiquement à jour les valeurs dans toutes les tables enfants référencées. 🎜🎜Suppression en cascade : 🎜Lorsque la valeur de clé primaire dans la table parent est supprimée, toutes les valeurs référencées dans la table enfant sont automatiquement supprimées. 🎜🎜Exemple🎜🎜🎜Supposons que nous ayons deux tables : orders
et order_items
: 🎜rrreee🎜Dans cet exemple, L'étranger La contrainte de clé sur la table order_items
garantit que chaque valeur order_id
existe dans la table orders
. Cela signifie que nous ne pouvons pas insérer une valeur order_id
dans la table order_items
qui n'existe pas dans la table orders
. 🎜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!