在MySQL中创build布尔列作为默认值为false?
我想在MySQL中创build一个默认值为false
的boolean
列的表。 但它接受NULL作为默认值…
你必须指定0
(意思是false)或者1
(意思是true)作为默认值。 这里是一个例子:
create table mytable ( mybool boolean not null default 0 );
仅供参考: boolean
是tinyint(1)
的别名。
这是certificate:
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)
仅供参考:我的testing是在以下版本的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 itemcategory
'