SQL Server: ALTER avec AJOUTER une colonne
J'ai l'instruction suivante dans SQL Server:
ALTER TABLE [dbo].[TruckTbl]
ADD [TruckState] [bit] NULL DEFAULT 0;
Ce que cela va faire est par défaut de tout NOUVEL enregistrement à 0.
Pour les enregistrements existants comment puis-je obtenir et de dire dans l'état aussi ceux par défaut à 0.
Je sais que je peux y aller et de faire une mise à jour mais de toute façon à faire dans une mise à jour dans le ALTER
déclaration ci-dessus?
Si votre champ de BITS vraiment accepter les valeurs null? En fait cela fait un tristate plutôt qu'un bistate. Si ce champ n'est pas autoriser les valeurs null, tous les records précédents qui recevront votre prescrits valeur par défaut!
OriginalL'auteur Nate Pet | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Utiliser le
AVEC des VALEURS
clauseBien que je suis d'accord avec les autres réponses, il semble étrange que la colonne doit être nullable à tous, si vous êtes l'établissement de tous les lignes existantes à
0
et ont une valeur par défaut pour l'avenir des inserts. Ne jamais vous avez besoin pour permettre àNULL
comme une valeur de la colonne d'ici?le seul problème avec ceci est que cela va créer une contrainte supplémentaire à votre table. Vous devez supprimer manuellement si vous ne voulez pas avoir cette contrainte supplémentaire, juste être prudent lors de la suppression parce que SQL Server Management Studio crée cette contrainte avec un nom aléatoire.
OriginalL'auteur Martin Smith
E. g
C'est simple. Merci.
OriginalL'auteur Chirag Thakar