2016-10-25 1 views
-1

J'ai une table appelée personne dans ma base de données. Je veux ajouter une autre colonne à la même table et c'est une colonne de type de données booléenne. J'ai essayé les requêtes suivantes mais il indique erreur de syntaxe près de défaut. Je sais que c'est commun et il y a beaucoup de réponses. J'ai essayé beaucoup d'entre eux et ne pouvais pas comprendre pour le faire fonctionner. Alors s'il vous plaît aidez-moi.Comment ajouter une colonne de type de données booléenne à une table existante dans sql?

requêtes J'ai essayé

ALTER TABLE person add column "AdminApproved" BOOLEAN SET default FALSE; 
ALTER TABLE person alter column "AdminApproved" BOOLEAN SET default FALSE;   

J'ai essayé sans SET mot clé aussi.

+0

ne sera pas TINYINT (1) ok? 1 pour vrai, 0 pour faux. – Hien

+2

Rien sur Google si vous recherchez 'Boolean data type sql server' ?? Vous avez raison, c'est extrêmement commun et il y a beaucoup de réponses là-bas. – dfundako

Répondre

7

Dans SQL Server, il est BIT, mais il permet NULL à stocker

ALTER TABLE person add [AdminApproved] BIT default 'FALSE'; 

Il y a aussi d'autres erreurs dans votre requête

  1. Lorsque vous modifiez une table pour ajouter la colonne pas besoin pour indiquer column mot-clé dans alter instruction

  2. Pour ajouter par défaut c onstraint pas besoin d'utiliser SET mot-clé

  3. Valeur par défaut pour une colonne BIT peut être ('TRUE' or '1')/('FALSE' or 0). TRUE ou FALSE besoins de mentionné comme string pas Identifiant

+0

@ Prdp Il a beaucoup travaillé – Mike

+3

Juste une mise en garde ici. BIT n'est pas un vrai booléen. Il permet 3 états, 0, 1 et NULL. C'est subtil mais très important à comprendre. De même, vous ne pouvez pas le coder comme un booléen. –

+0

@SeanLange - Je suis d'accord plus .. –

5

La réponse donnée par P ரதீப் crée un bool annulable, non un bool, qui peut être bien pour vous. Par exemple en C#, il créerait: bool? AdminApproved pas bool AdminApproved.

Si vous devez créer un bool (par défaut à false):

ALTER TABLE person 
    ADD AdminApproved BIT 
    DEFAULT 0 NOT NULL;