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;
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;
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!