Maison  >  Article  >  base de données  >  Définition et limitations des clés étrangères dans la base de données MySQL

Définition et limitations des clés étrangères dans la base de données MySQL

WBOY
WBOYoriginal
2024-03-15 12:36:041119parcourir

Définition et limitations des clés étrangères dans la base de données MySQL

Titre : Définition et limitations des clés étrangères dans la base de données MySQL

Dans la base de données MySQL, une clé étrangère est une contrainte utilisée pour établir une relation entre des tables. Les clés étrangères garantissent que les données d'une table sont liées aux données d'une autre table. En définissant des clés étrangères, nous pouvons atteindre l'intégrité référentielle entre les données afin de garantir la cohérence et la fiabilité des données.

1. Définition de la clé étrangère

Dans MySQL, la clé étrangère peut être définie via la syntaxe suivante :

CREATE TABLE 表名 (
    列名 数据类型,
    外键列名 数据类型,
    FOREIGN KEY (外键列名) REFERENCES 关联表名(关联列名)
);

où, 外键列名 是当前表中需要关联的列名,关联表名 是需要关联的表的表名,关联列名 est le nom de la colonne qui doit être associée dans la table associée. Avec cette définition, nous pouvons établir une relation un-à-plusieurs entre les tables.

2. Restrictions sur les clés étrangères

Lors de la définition des clés étrangères, nous pouvons ajouter quelques restrictions pour garantir l'intégrité des données. Voici quelques contraintes de clé étrangère courantes :

  • ON DELETE CASCADE : lorsqu'un enregistrement de la table maître est supprimé, les enregistrements associés dans la table esclave seront également supprimés.
  • ON DELETE SET NULL : Lorsqu'un enregistrement de la table principale est supprimé, la valeur de clé étrangère de l'enregistrement associé dans la table esclave sera définie sur NULL.
  • EN CASCADE DE MISE À JOUR : Lorsque la valeur de clé primaire de l'enregistrement dans la table principale est mise à jour, la valeur de clé étrangère de l'enregistrement associé dans la table esclave sera également mise à jour.
  • ON UPDATE SET NULL : Lorsque la valeur de clé primaire d'un enregistrement dans la table principale est mise à jour, la valeur de clé étrangère de l'enregistrement associé dans la table esclave sera définie sur NULL.

Ce qui suit est un exemple de définition et de restriction de clé étrangère spécifique :

CREATE TABLE 父表 (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE 子表 (
    id INT PRIMARY KEY,
    parent_id INT,
    FOREIGN KEY (parent_id) REFERENCES 父表(id) ON DELETE CASCADE
);

Dans cet exemple, une relation un-à-plusieurs est établie entre la table parent et la table enfant lorsque l'enregistrement de la table parent est. supprimé, les enregistrements de la table enfant qui lui sont liés seront également supprimés, garantissant ainsi l'intégrité et la cohérence des données.

Grâce à l'introduction ci-dessus, nous pouvons voir que dans la base de données MySQL, la définition et les restrictions des clés étrangères sont très importantes. Cela peut nous aider à établir la relation entre les tables et à gérer et maintenir efficacement les données dans la base de données.

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