Problème de dépendance de clé étrangère : modification de la colonne « Rating » de int à double
Ce problème survient lorsqu'une table de base de données EF a une colonne ( par exemple, « Rating ») qui est un entier et est référencé par une clé étrangère dans une autre table. Changer le type de données « Note » de int à double peut déclencher une erreur :
The object 'DF__*'' is dependent on column '*''. ALTER TABLE ALTER COLUMN * failed because one or more objects access this column.
Cause :
Lorsque la colonne « Note » a été initialement définie comme int, le SGBD (par exemple, SQL Server) a automatiquement créé une contrainte de clé étrangère le référençant. Cette contrainte renforce l'intégrité de la base de données en garantissant que toute valeur de la colonne « Note » correspond à une ligne valide dans la table référencée.
Solution :
Pour changer avec succès 'Rating' de int à double, la contrainte de clé étrangère doit être supprimée d'abord.
Identifiez la contrainte :
Dans l'Explorateur d'objets, développez les attributs de la table et accédez à la catégorie Contraintes . Localisez la contrainte associée à la colonne « Note », telle que « DF_Movies_Rating__48CFD27E ».
Supprimer la contrainte :
Cliquez avec le bouton droit sur contrainte et sélectionnez Supprimer. Cela supprimera la contrainte de la base de données.
Modifier la colonne :
Après avoir supprimé la contrainte, vous pouvez maintenant modifier la « Note » colonne au type de données double à l'aide de l'instruction SQL appropriée.
Recréez le Contrainte :
Une fois la colonne 'Rating' modifiée, vous pouvez recréer la contrainte de clé étrangère pour maintenir l'intégrité de la base de données.
En suivant ces étapes, vous pouvez modifier avec succès le type de données de la colonne « Note » sans rencontrer l'erreur de dépendance.
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!