Quiero crear una tabla en MySQL con una columna boolean
cuyo valor predeterminado es false
. Pero está aceptando NULL como predeterminado ...Crear una columna booleana en MySQL con falso como valor predeterminado?
89
A
Respuesta
152
Debe especificar 0
(es decir, falso) o 1
(es decir, verdadero) como valor predeterminado. Aquí está 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 se llevó a cabo en la siguiente versión de MySQL:
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
8
Uso ENUM en MySQL para la verdadera/falsa que da y acepta el verdadero/valores falsos sin ningún código adicional.
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'
Cuestiones relacionadas
- 1. valor predeterminado de GUID para una columna en mysql
- 2. Insertar valor predeterminado como fecha actual + 30 días en MySQL
- 3. sqlite3 cambia el valor predeterminado de la columna
- 4. SQL para clasificar la columna booleana como verdadera, nula, falsa
- 5. Crear campo con el valor predeterminado como época de tiempo
- 6. revertir filas al valor de columna predeterminado mysql
- 7. Valor predeterminado para una columna de texto
- 8. Valor predeterminado de MySQL como el valor de otro campo
- 9. ¿Puedo crear una columna de fecha y hora con el valor predeterminado en sqlite3?
- 10. ¿Cómo establecer el valor predeterminado para sysdate en MySql?
- 11. Configurar condicionalmente una columna a su valor predeterminado en Postgres
- 12. ¿Cómo modificar una columna y cambiar el valor predeterminado?
- 13. Crear columna mysql con Key = MUL?
- 14. Al crear una columna usando liquibase, ¿cómo especifico un valor para esa columna basado en una columna existente?
- 15. Valor de columna predeterminado con Doctrine2 y Symfony2 con YAML?
- 16. estableciendo un valor predeterminado para una columna en SQLite
- 17. ¿Por qué MySQL usa latin1_swedish_ci como valor predeterminado?
- 18. expandir una variable booleana a la cadena "verdadero" o "falso"
- 19. MySQL seleccionar valores de las filas dinámicas como nombres de columna, otra columna como valor
- 20. MySQL columna de indicación de fecha y hora valor predeterminado AHORA valor ERROR 1067
- 21. ¿Cuál es la diferencia entre una columna con un valor predeterminado y una columna con una restricción predeterminada?
- 22. rails3 default_scope, y valor de columna predeterminado en la migración
- 23. ¿Puedo usar una función para un valor predeterminado en MySql?
- 24. sql server: obtener el valor predeterminado de una columna
- 25. Diferencia entre nulo predeterminado nulo y nulo predeterminado en mysql?
- 26. Cómo establecer un valor predeterminado para una columna en SQL basado en otra columna
- 27. ¿Cómo agregar un valor predeterminado a una columna ya existente?
- 28. MySQL INSERT con una salida como MSSQL
- 29. Crear C# int [] con valor como 0,1,2,3 ...
- 30. Asignación del valor predeterminado al crear el archivo de migración
Niza confirmación –
¿O no? En scripts de shell, 0 puede significa exitoso o "verdadero". Sería bueno si MySQL realmente devolviera 'verdadero' y 'falso' para que no tengamos que depender del código para decidir qué significa el valor. – tudor
Dicho sea de paso, dado que boolean es un alias para tinyint (1), eso significa que puede establecer booleanos en números distintos de 0 y 1 y ¡no se quejará! Lo que significa que si accidentalmente incrementa o disminuye el campo, ¡puede estropear sus datos! : -O recomendaría usar un campo ENUM en su lugar. – tudor