Suppression de colonnes de table avec des objets dépendants
Lorsque vous essayez de supprimer des colonnes d'une table à l'aide de la syntaxe ALTER TABLE DROP COLUMN, vous pouvez rencontrer le problème erreur : "Msg 4922, niveau 16, état 9, ligne 2nALTER TABLE DROP COLUMN Échec car un ou plusieurs objets accèdent à cette colonne." Cette erreur se produit lorsque la colonne que vous essayez de supprimer est référencée par d'autres objets de la base de données, tels que des contraintes de clé étrangère ou des valeurs par défaut.
Solution : Supprimer les contraintes dépendantes
Pour réussir à supprimer la colonne, vous devez d'abord supprimer toutes les contraintes qui en dépendent. Dans ce cas, le message d'erreur fait référence à une contrainte par défaut nommée « DF__CompanyTr__Creat__0CDAE408 ». Pour supprimer cette contrainte, utilisez la syntaxe suivante :
alter table CompanyTransactions drop constraint [df__CompanyTr__Creat__0cdae408];
Une fois les contraintes dépendantes supprimées, vous pouvez ensuite exécuter la requête d'origine pour supprimer la colonne :
alter table CompanyTransactions drop column [Created];
Migrations Code First
Si vous utilisez des migrations Code First pour gérer votre schéma de base de données, ce problème peut survenir si les migrations sont devenues obsolètes. de synchronisation. Dans de tels cas, il est recommandé de recréer les migrations et de les réexécuter pour garantir que la base de données est dans un état cohérent.
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!