Maison > base de données > tutoriel mysql > Comment modifier une action référentielle de clé étrangère de ON DELETE CASCADE à ON DELETE RESTRICT ?

Comment modifier une action référentielle de clé étrangère de ON DELETE CASCADE à ON DELETE RESTRICT ?

Patricia Arquette
Libérer: 2024-11-30 19:38:14
original
728 Les gens l'ont consulté

How to Change a Foreign Key Referential Action from ON DELETE CASCADE to ON DELETE RESTRICT?

Modification de l'action référentielle de clé étrangère

Les contraintes de clé étrangère renforcent l'intégrité référentielle en garantissant que les lignes d'une table enfant ne peuvent pas être supprimées si elles sont référencées par lignes dans une table parent. Par défaut, les contraintes de clé étrangère sont définies sur ON DELETE CASCADE, qui supprime automatiquement les lignes enfants lorsque leurs lignes parent sont supprimées.

Si vous souhaitez modifier l'action référentielle sur ON DELETE RESTRICT, qui empêche la suppression du parent si elles ont des lignes enfants associées, vous pouvez le faire à l'aide des commandes SQL suivantes :

Étape 1 : Supprimez les lignes existantes. Contrainte

ALTER TABLE table_name
DROP FOREIGN KEY constraint_name;
Copier après la connexion

Cette commande supprime la contrainte de clé étrangère existante, mais laisse la colonne de clé étrangère en place.

Étape 2 : Ajouter la nouvelle contrainte avec ON DELETE RESTRICT

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (foreign_key_column) REFERENCES parent_table (parent_key) ON DELETE RESTRICT;
Copier après la connexion

Cette commande crée une nouvelle contrainte de clé étrangère avec ON DELETE RESTRICT, empêchant efficacement la suppression des lignes parents si elles ont des lignes enfants associées.

Remarque : Avant d'effectuer ces modifications, assurez-vous que les données de la table sont cohérentes avec l'action référentielle souhaitée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal