type true query false example data create column cast mysql

true - ¿Crear una columna booleana en MySQL con falso como valor predeterminado?



query boolean mysql (2)

Quiero crear una tabla en MySQL con una columna boolean cuyo valor predeterminado es false . Pero está aceptando NULL como predeterminado ...


Debe especificar 0 (que significa falso) o 1 (que significa verdadero) como valor predeterminado. Aquí hay un ejemplo:

create table mytable ( mybool boolean not null default 0 );

FYI: boolean es un alias para tinyint(1) .

Aquí está la prueba:

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)

FYI: Mi prueba fue hecha en la siguiente versión de MySQL:

mysql> select version(); +----------------+ | version() | +----------------+ | 5.0.18-max-log | +----------------+ 1 row in set (0.00 sec)


Use ENUM en MySQL para verdadero / falso y acepta los valores verdadero / falso sin ningún código adicional.

ALTER TABLE `itemcategory` ADD `aaa` ENUM(''false'', ''true'') NOT NULL DEFAULT ''false''