Mi accodo a questa discussione perchè sono da poco passato a MySQL (da .mdb) e pensavo di fare una figata utilizzando il campo ENUM:
attivo = ENUM ('true','false')
nelle prove però si è evidenziato che il campo non risponde allo stesso modo al true/false, infatti se faccio
mi aspetterei in caso di 'false' nel campo che la condizione restituisse appunto false, invece considera il campo sempre a true in quanto è presente del testo.Codice PHP:
if ($row['attivo']) {...}
Comportamento diverso (e corretto) se il campo viene così settato:
attivo = ENUM ('0','1')
Comportamente corretto anche con TINYINT(1) (come segnalato da Razorblade).
Quale consigliate voi per evitare problemi?