Dal manuale di MySQL, dice:
BOOL, BOOLEAN
Questi tipi sono sinonimi di TINYINT (1). Un valore pari a zero è considerato falso. I valori diversi da zero sono considerati veri:
Ho creato una colonna BOOLEAN con 0
come valore predefinito. Quindi aggiorno il valore a 2
. Logicamente, mi aspetterei che MySQL accetti uno 0
o l'altro 1
poiché è un valore booleano. Tuttavia, MySQL non ha emesso alcun errore o mi ha impedito di eseguire l'aggiornamento.
Se BOOLEAN funziona esattamente come TINYINT (1), fa differenza se uso TINYINT (1) o BOOLEAN?
BIT
è davvero un campo di bit che contiene da uno a sessantaquattro bit in modo compatto.