webentwicklung-frage-antwort-db.com.de

Wie füge ich einer vorhandenen Tabelle in SQL eine boolesche Datentypspalte hinzu?

Ich habe eine Tabelle namens person in meiner Datenbank. Ich möchte füge der gleichen Tabelle eine weitere Spalte hinzu und es ist eine boolesche Datentypspalte. Ich habe versucht, folgenden Abfragen, aber es heißt Syntaxfehler fast Standard. Ich weiß, dass dies häufig vorkommt und es gibt viele Antworten. Ich habe viele von ihnen ausprobiert und konnte nicht herausfinden, ob es funktioniert. Also bitte hilf mir.

Fragen, die ich versucht habe

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

Ich habe es auch ohne SET Schlüsselwort versucht.

8
Mike

In SQL SERVER ist es BIT, obwohl es erlaubt, NULL zu speichern

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

Es gibt auch andere Fehler in Ihrer Anfrage

  1. Wenn Sie eine Tabelle ändern, um eine Spalte hinzuzufügen, müssen Sie das Schlüsselwort column in der Anweisung alter nicht erwähnen

  2. Zum Hinzufügen der Standardeinschränkung muss das Schlüsselwort SET nicht verwendet werden

  3. Der Standardwert für eine BIT -Spalte kann ('TRUE' or '1')/('FALSE' or 0) Sein. TRUE oder FALSE muss als string und nicht als Bezeichner angegeben werden

24

Die Antwort von P ரதீப் erzeugt einen nullbaren Bool, keinen Bool, was für Sie in Ordnung sein kann. In C # würde beispielsweise Folgendes erstellt: bool? AdminApprovednicht bool AdminApproved.

Wenn Sie einen Bool erstellen müssen (standardmäßig false):

    ALTER TABLE person
    ADD AdminApproved BIT
    DEFAULT 0 NOT NULL;
13
MEC