2011-01-21 71 views
16

Quiero guardar mi valor como booleano en mi base de datos mysql. Pero de alguna manera no puedo guardarlo, mysql lo guarda automáticamente del tipo tinyInt. También dime los valores predeterminados para boolean. ¿Cómo pasamos los valores?Campo booleano en mysql db

+3

1 = verdadero 0 = falso – BvdVen

Respuesta

25

En MySQL BOOLEAN tipo es un sinónimo de TINYINT. No hay un tipo dedicado BOOLEAN. Los vaules accepeted, son aquellos para TINYINT, es decir, 0 para falso, 1-255 (preferiblemente 1) para verdadero.

+0

Pero por qué bool y tinyint son diferentes. Si son iguales, debe haber uno –

+0

No hay 'BOOL'. Solo hay 'TINYINT' que puede escribirse como 'BOOL'. – Mchl

+0

Lo tengo ahora, pero estaba confundido por qué han retenido bool en mysql si podemos usar tinyInt.Bool debe ser eliminado de la lista. –

6

MySQL realmente no tiene un tipo BOOLEAN; si crea una columna BOOLEAN, en realidad será TINYINT.

Tratar TINYINT como booleano no es demasiado problemático, sin embargo, si trata 0 como falso y no 0 como verdadero, está bien. En PHP, una declaración como if ($column) devolverá true si $ column es cualquier valor excepto 0 o algo que evalúa a 0. Si lo necesita para ser explícitamente bool, puede convertirlo fácilmente haciendo $column = ($column != 0);

+1

Votación hacia arriba de la última columna $ (= columna $ = 0); –

Cuestiones relacionadas