Answers:
您必须指定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)
在MySQL中使用ENUM表示true / false,它给出并接受true / false值,而无需任何额外的代码。
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'