我的数据库中有一个名为 person 的表。我想在同一个表中添加另一列,它是一个布尔数据类型的列。我尝试了以下查询,但它说 syntax error near default。我知道这很常见,并且有很多答案。我已经尝试了很多,但无法弄清楚如何让它发挥作用。所以请帮助我。
查询我试过
ALTER TABLE person add column "AdminApproved" BOOLEAN SET default FALSE;
ALTER TABLE person alter column "AdminApproved" BOOLEAN SET default FALSE;
我也试过没有SET关键字。
在 SQL SERVER 中它是
BIT
,尽管它允许存储NULL
ALTER TABLE person add [AdminApproved] BIT default 'FALSE';
你的查询还有其他错误
当您更改表以添加列时,无需在
column
语句中提及alter
关键字添加默认约束不需要使用
SET
关键字BIT
列的默认值可以是 ('TRUE' or '1')
/ ('FALSE' or 0)
。 TRUE
或 FALSE
需要提及为 string
而不是标识符 Pரதீப் 给出的答案创建了一个可为空的布尔值,而不是布尔值,这可能适合您。例如在 C# 中它会创建:
bool? AdminApproved
not bool AdminApproved
.
如果需要创建bool(默认为false):
ALTER TABLE person
ADD AdminApproved BIT
DEFAULT 0 NOT NULL;
在 phpmyadmin 中,如果您需要将布尔数据类型列添加到默认值为 true 的现有表中:
ALTER TABLE books
isAvailable boolean default true;
有两种方法可以做到。
ALTER TABLE `tablename`
ADD `column_name` BOOLEAN DEFAULT FALSE
ALTER TABLE `tablename`
ADD `column_name` TINYINT DEFAULT 0