Ich denke, Sie sollten dies als ein bisschen speichern (wenn Sie sich für die Speichergröße interessieren) und lassen NULL
Mean "unbekannt".
field bit(1) default NULL,
Es scheint seltsam, ein Feld zu erklären not null
und dann einen besonderen Wert zu haben, der im Wesentlichen bedeutet NULL
.
BEARBEITEN:
Die folgende Syntax "funktioniert" auf SQL Fiddle:
create table t (
val int,
flag tinyint(1) default -1
);
"Works" ist in Anführungszeichen, weil der Standardwert eher als "1" als "-1" druckt-schließlich die, die, die, die, die (1)
Sagt nur eine Ziffer.
Vielleicht erzeugt es in einigen früheren Versionen von MySQL einen Fehler, wenn es das sieht -1
wird nicht richtig angezeigt. (Um ehrlich zu sein, würde mich das überraschen.)