如何将boolean数据类型列添加到sql中的现有表?

时间:2016-10-25 15:37:28

标签: sql sql-server alter-table

我的数据库中有一个名为 person 的表格。我想将另一列添加到同一个表中,它是一个布尔数据类型列。我尝试过以下查询,但默认情况下会出现语法错误。我知道这很常见,而且有很多答案。我已经尝试了很多这些并且无法弄清楚它是否有效。所以请帮助我。

查询我尝试了

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

我也试过没有 SET 关键字。

4 个答案:

答案 0 :(得分:18)

在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)TRUEFALSE需要提及为string而不是标识符

答案 1 :(得分:9)

Pரதீப்给出的答案创造了一个可以为空的bool,而不是bool,这可能对你没问题。例如,在C#中,它会创建:bool? AdminApproved而不是bool AdminApproved

如果你需要创建一个bool(默认为false):

    ALTER TABLE person
    ADD AdminApproved BIT
    DEFAULT 0 NOT NULL;

答案 2 :(得分:0)

在phpmyadmin中,如果需要将布尔数据类型列添加到默认值为true的现有表中:

ALTER TABLE books
   isAvailable boolean default true;

答案 3 :(得分:-1)

以下查询对我有用,默认值为false;

ALTER TABLE cti_contract_account ADD ready_to_audit BIT DEFAULT 0 NOT NULL;