variable true length false ejemplo declarar booleana php mysql boolean

php - true - ¿Cómo puedo agregar un campo booleano a MySQL?



mysql true false (5)

Parece que debería usar tinyint (); ¿Pero no sé cómo implementarlo?

La pregunta es ¿cuál es su recomendación si necesito tener un campo booleano en MySQL DB y modificar su valor con PHP?


Creo que ya que realmente quieres imponer una restricción booleana (0,1) en un campo de tabla mysql, la mejor opción es enumerar

CREATE TABLE table_name( boolean_field_name ENUM(''0'', ''1'') );


Prefiero ninguno de bool, BIT, TINYINT (1). Porque ninguno de ellos es realmente booleano. Puede consultar el siguiente enlace para ''por qué'':

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Mejor uso: ENUM (''false'', ''true'') no null, como tipo de datos. Puede pasar ''verdadero'' o ''falso'' (como cadenas) desde PHP. ¡Y solo tardará 1 byte en almacenarlo!


Tienes opción de tinyint (1) o bit

inserte 0 o 1 en este campo

Vea este post de la diferencia:

Tinyint vs Bit


Tienes razón en que la solución general es tinyint(1) . Puedes usar BOOL para abreviar:

CREATE TABLE example ( flag BOOL );


Sí, TINYINT(1) es el camino a seguir ... también puede usar BOOL o BOOLEAN que son sinónimos (por lo que no hace una diferencia).

0 evalúa como false en PHP y 1 como true (en realidad, cualquier otro número que no sea 0 evalúa como true , pero normalmente se usa 1).