Im MySQL-Handbuch heißt es:
BOOL, BOOLEAN
Diese Typen sind Synonyme für TINYINT (1). Ein Wert von Null wird als falsch betrachtet. Werte ungleich Null gelten als wahr:
Ich habe eine BOOLEAN-Spalte mit 0
dem Standardwert erstellt. Dann aktualisiere ich den Wert auf 2
. Logischerweise würde ich erwarten, dass MySQL entweder akzeptiert 0
oder 1
ein Boolescher Wert ist. MySQL hat jedoch keinen Fehler ausgegeben oder mich daran gehindert, das Update durchzuführen.
Wenn BOOLEAN genauso funktioniert wie TINYINT (1), macht es dann einen Unterschied, ob ich TINYINT (1) oder BOOLEAN verwende?
BIT
wirklich ein Bitfeld ist, das ein bis vierundsechzig Bits kompakt enthält.