Maison >base de données >tutoriel mysql >Quels sont les différents comportements ON DELETE dans MySQL et comment fonctionnent-ils ?

Quels sont les différents comportements ON DELETE dans MySQL et comment fonctionnent-ils ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 18:32:01677parcourir

What are the Different ON DELETE Behaviors in MySQL and How do they Work?

Comportement ON DELETE par défaut de MySQL : un guide complet

Dans MySQL, le comportement ON DELETE définit l'action à entreprendre sur une ligne enfant lorsque sa ligne parent associée est supprimée. Comprendre ce comportement est crucial pour maintenir l'intégrité de la base de données.

Les cinq options :

MySQL propose cinq comportements ON DELETE possibles :

  • SET NULL : Définit la colonne de clé étrangère sur NULL dans la ligne enfant.
  • AUCUNE ACTION : Empêche toute modification de la base de données qui violerait une contrainte de clé étrangère.
  • RESTRICT :Équivalent à AUCUNE ACTION ; empêche les violations de clé étrangère.
  • CASCADE : Supprime ou met à jour automatiquement la ligne enfant lorsque la ligne parent est supprimée ou mise à jour.
  • SET DEFAULT : Définit la colonne de clé étrangère à sa valeur par défaut, mais n'est pas pris en charge par InnoDB.

Comportement par défaut :

Le comportement par défaut ON DELETE est NO ACTION, ce qui signifie que MySQL empêchera toute suppression ou mise à jour qui briserait une contrainte de clé étrangère. Si aucune clause ON DELETE n'est spécifiée, le comportement par défaut est supposé.

Autres options :

  • SET NULL : Cette option permet la ligne parent à supprimer et la colonne de clé étrangère dans la ligne enfant est définie sur NULL.
  • CASCADE : Effectue une opération en cascade, en supprimant ou en mettant à jour la ligne enfant avec le parent row.
  • SET DEFAULT : Cette option n'est pas prise en charge par InnoDB, ce qui signifie qu'il ne s'agit pas d'un comportement valide.

Comprendre NO ACTION et RESTRICT :

AUCUNE ACTION et RESTRICTION sont essentiellement synonymes. Les deux options empêchent les violations de clé étrangère en rejetant toute opération qui briserait une contrainte.

Conclusion :

Le comportement ON DELETE est un aspect essentiel de la conception d'une base de données, car il détermine la manière dont les lignes enfants sont affectées lorsque leurs lignes parents sont modifiées ou supprimées. En comprenant les cinq options disponibles et le comportement par défaut, les développeurs peuvent garantir l'intégrité et la cohérence de leurs bases de données MySQL.

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