我想在MySQL中创建一个表,其中包含一个默认值为false的boolean列。但它接受NULL作为默认值...
发布于 2010-02-08 19:02:44
您必须指定0 (表示false)或1 (表示true)作为默认值。下面是一个示例:
create table mytable (
mybool boolean not null default 0
);仅供参考:boolean是tinyint(1)的别名。
这就是证据:
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上完成的:
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)发布于 2018-07-26 01:29:51
您可以在创建时设置默认值,如:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);发布于 2015-10-09 11:42:51
在MySQL中使用枚举来表示true / false它给出并接受true / false值,而不需要额外的代码。
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'https://stackoverflow.com/questions/2221069
复制相似问题