Maison > Article > base de données > Qu'arrive-t-il aux données associées lorsqu'une ligne parent est supprimée dans MySQL ?
Dans MySQL, le comportement ON DELETE détermine ce qui arrive aux données associées dans une table enfant lorsqu'un enregistrement est supprimé de la table parent . Par défaut, MySQL utilise le comportement NO ACTION.
Comportement par défaut : NO ACTION
NO ACTION et RESTRICT empêchent les modifications qui violent les contraintes de clé étrangère. Lorsque la clause ON DELETE est omise, ces comportements par défaut prennent effet. Ils préservent l'intégrité des données référencées en empêchant leur suppression ou leur modification.
Autres options de comportement
SET NULL :
Supprime le parent et définit la clé étrangère de la table enfant sur NULL (si autorisé).
CASCADE :
Supprime les lignes enfants qui font référence à la ligne parent supprimée.
SET DEFAULT :
Cette option n'est pas prise en charge par InnoDB. Il a été reconnu par l'analyseur mais rejeté lors de la définition de la table.
Résumé
Le tableau suivant résume les comportements ON DELETE disponibles dans MySQL :
Behavior | Description |
---|---|
NO ACTION | Prevents deletion or update of parent rows |
RESTRICT | Same as NO ACTION |
SET NULL | Sets foreign key to NULL when parent row is deleted |
CASCADE | Deletes child rows when parent row is deleted |
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!