Rozpatrując tylko dwie możliwe wartości, 0 & 1 lub Prawda & fałszywe, to jest oczywiste, że BIT (1) ma lepszą pracę:Dlaczego MySQL interpretuje wartość logiczną jako TINYINT (1) zamiast BIT (1)?
- bit (1) wymusza tylko 2 możliwe wartości: 0 i 1 , natomiast TINYINT (1) może przyjmować dowolne liczby całkowite mniejsze niż 10 (0,1,2,3,4,5 ...), które mogą być niejednoznaczne.
- Wiele kolumn BIT (1) można połączyć w bajty, aby zajmowały mniej miejsca niż kilka kolumn TINYINT (1).
Dlaczego MySQL interpretuje wartość logiczną jako TINYINT (1), ale nie BIT (1)? Czy jest jakaś korzyść z używania TINYINT (1) nad BIT (1) w obsłudze wartości logicznych?
+1 Dla bezwładności. Nadal używam 'TINYINT (1)' w prawie wszystkich okolicznościach bez żadnego powodu. –
+1 również za bezwładność. Nadal używam TINYINT (1), ponieważ mój ulubiony edytor SQL nie zezwala na edycję danych BIT tak prostych jak dla TINYINT ... i może zaoszczędzić sporo czasu w niektórych przypadkach. – Donatello