Comment pouvez-vous ajouter une valeur NON NULL colonne de CLÉ ÉTRANGÈRE à un (peuplé) tableau dans MS SQL?
J'ai besoin d'ajouter une colonne not NULL à un existant (peuplé) table qui sera une clé étrangère dans une autre table. Ce qui entraîne deux problèmes:
-
Lorsque vous ajoutez la colonne, sa valeur ne peut pas être null à l'aide d'un défaut n'est pas une option (sauf si il est supprimé plus tard) parce que la logique de base de données est utilisé dans le côté serveur de validation lorsqu'un utilisateur entre un nouveau record c'est à dire lorsque l'application tente d'ajouter un enregistrement avec ce champ ayant une valeur null, la base de données renvoie une erreur que l'application des captures et des rendements à l'utilisateur, de les inciter à corriger.
-
La colonne a une contrainte de clé étrangère, qui signifie que sa valeur DOIT exister dans la table étrangère ainsi.
Quelle est la meilleure façon d'aller à ce sujet?
Vous devez vous connecter pour publier un commentaire.
Créer de la colonne, mais autoriser les valeurs NULL.
Remplir la colonne avec les données correctes de la clé étrangère de la table.
Modifier la colonne ajouter not null.
Ajouter la contrainte de clé étrangère.
Sur les pièces de vos questions (ofc après des années):
1.Si vous voulez dire que la valeur par défaut serait quelque chose de tellement intelligent, et vous n'auriez pas besoin de le changer dans l'avenir, alors votre souhait est faux. pourquoi?
pour deux raisons:
langues, DBs et ainsi de suite...) la valeur par défaut n'est pas quelque chose qui
remplacer la valeur dynamiquement avec quelque chose que vous voulez. Pour
exemple Func Somme(a,b,c=10), dans cette situation, si vous ne saisissez pas de paramètre c, il faudrait 10, sinon vous devez entrer
quelque chose à la place. si les valeurs par défaut sont prévisible et calculable
valeurs, PAS intelligent valeurs.
paramètre d'une méthode, coz de la structure relationnelle des significations dans des Sgbdr donc u
sûrement devrait modifier qu'à l'avenir, peut-être même parfois changer
plus de et la plus de base sur les usages de la DB.
2.Il peut être traiter avec le code que je vais vous montrer.
Donc sur cette base des explications, vous pourriez avoir une colonne avec une valeur par défaut qui existent dans les Clefs, mais il ne sera pas quelque chose dont vous avez besoin, et vous devriez le mettre à jour à l'avenir de la base de votre utilisation. et pour cela, vous devez:
PREMIÈRE:
table spécifique comme ceci:
DEUXIÈME:
REMARQUE: Comme vous le savez, la table et les noms de colonne sont des exemples.
TROISIÈME:
Tout-en-Un:
ET C'est Fait!
Espère résoudre votre problème