web-dev-qa-db-ja.com

SQLの既存のテーブルにブールデータ型の列を追加する方法は?

データベースにpersonというテーブルがあります。 同じテーブルに別の列を追加します。これはブールデータ型の列です。次のクエリを試してみましたが、構文エラーがデフォルトに近いと表示されます。これはよくあることで、多くの答えがあります。私はそれらの多くを試してみましたが、それを機能させることができませんでした。だから私を助けてください。

私が試したクエリ

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

[〜#〜] set [〜#〜] key Wordなしで試しました。

8
Mike

SQL SERVERではBITですが、NULLを保存できます

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

また、クエリに他の間違いがあります

  1. テーブルを変更して列を追加する場合、columnステートメントでalterキーワードを指定する必要はありません

  2. デフォルトの制約を追加する場合、SETキーワードを使用する必要はありません

  3. BIT列のデフォルト値は('TRUE' or '1')/('FALSE' or 0)TRUEまたはFALSEは、識別子ではなくstringとして言及する必要があります

24

Pரதீப்で与えられる答えは、boolではなくnullable boolを作成します。たとえば、C#では次のように作成されます。bool? AdminApprovednot bool AdminApproved

Boolを作成する必要がある場合(デフォルトはfalse):

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