29

我正在尝试将布尔列添加到现有表中

alter table chatuser add activerecord bool;
alter table chatuser add activerecord boolean;

其中 activerecord 是我的布尔列

这些查询都不起作用。如何将布尔列添加到现有表?

4

5 回答 5

51

您必须定义添加的内容 - 列:

alter table chatuser  add column activerecord bool;
于 2012-08-20T06:31:41.330 回答
17

缺少COLUMN关键字

ALTER TABLE ChatUser ADD COLUMN ActiveRecord TinyInt(1)
于 2012-08-20T06:32:00.327 回答
10

添加默认值

ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
于 2018-02-10T08:22:51.290 回答
2
ALTER TABLE chatuser ADD activerecord BOOLEAN

不需要“列”这个词

您的第二个查询在 mysql 中完全没问题(至少)。

尝试:

select * from chatuser;

如果您看不到结果,请检查您的 mysql 服务器或其他东西,而不是查询,如果上面的选择查询有效,并且您还没有activerecord 命名列,我敢打赌您的查询会有效。

于 2012-08-20T07:05:23.337 回答
2

我发现在 Microsoft SQL 上以下内容无效:

ALTER TABLE meTable ADD COLUMN someBoolCol TinyInt;

省略“列”关键字有效:

ALTER TABLE meTable ADD someBoolCol TinyInt;
于 2014-02-19T21:06:16.487 回答