Creo que debería almacenar esto como un poco (si le importa el tamaño del almacenamiento) y dejar NULL
significa "desconocido".
field bit(1) default NULL,
Parece extraño declarar que un campo not null
y luego tener un valor especial que, esencialmente, significa NULL
.
EDITAR:
La siguiente sintaxis "funciona" en Violín SQL:
create table t (
val int,
flag tinyint(1) default -1
);
"Works" está en citas porque el valor predeterminado se imprime como "1" en lugar de "-1", después de todo, el (1)
dice solo imprimir un dígito.
Quizás en algunas versiones anteriores de MySQL genera un error cuando ve que -1
No se mostrará correctamente. (Para ser honesto, eso me sorprendería).