首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在MySQL中创建布尔列,并将false作为默认值?

是否在MySQL中创建布尔列,并将false作为默认值?
EN

Stack Overflow用户
提问于 2010-02-08 19:00:44
回答 4查看 255.4K关注 0票数 141

我想在MySQL中创建一个表,其中包含一个默认值为falseboolean列。但它接受NULL作为默认值...

EN

回答 4

Stack Overflow用户

发布于 2010-02-08 19:02:44

您必须指定0 (表示false)或1 (表示true)作为默认值。下面是一个示例:

代码语言:javascript
复制
create table mytable (
     mybool boolean not null default 0
);

仅供参考:booleantinyint(1)的别名。

这就是证据:

代码语言:javascript
复制
mysql> create table mytable (
    ->          mybool boolean not null default 0
    ->     );
Query OK, 0 rows affected (0.35 sec)

mysql> insert into mytable () values ();
Query OK, 1 row affected (0.00 sec)

mysql> select * from mytable;
+--------+
| mybool |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

仅供参考:我的测试是在以下版本的MySQL上完成的:

代码语言:javascript
复制
mysql> select version();
+----------------+
| version()      |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
票数 220
EN

Stack Overflow用户

发布于 2018-07-26 01:29:51

您可以在创建时设置默认值,如:

代码语言:javascript
复制
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);
票数 20
EN

Stack Overflow用户

发布于 2015-10-09 11:42:51

在MySQL中使用枚举来表示true / false它给出并接受true / false值,而不需要额外的代码。

代码语言:javascript
复制
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2221069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档