Pytanie Jaka jest różnica między typami danych kolumn MySQL BOOL i BOOLEAN?


Używam wersji MySQL 5.1.49-1ubuntu8.1. Pozwala mi to zdefiniować kolumny dwóch różnych typów danych: BOOL i BOOLEAN. Jakie są różnice między tymi dwoma typami?


76
2018-01-20 23:44


pochodzenie




Odpowiedzi:


Oba są synonimami TINYINT (1).


124
2018-01-20 23:48



Co mówi Adam. W MySQL nie ma aktualnego typu BOOLEAN. - Mchl


Jak ustalono w innych komentarzach, są one synonimami TINYINT (1).

*Dlaczego więc zawracają sobie głowę różnicowaniem między bool, boolean, tiny* int (1)?

Głównie semantyka.

Bool i Boolean: Domyślnie MySQL konwertuje je do typu tinyint. Według instrukcji MySQL powstałej w czasie pisania tego tekstu, "zamierzamy wdrożyć pełną obsługę typu boolean, zgodnie ze standardowym SQL, w przyszłym wydaniu MySQL."

0 = FALSE 1 = PRAWDA

TINYINT: zajmuje jeden bajt; waha się od -128 do +127; lub 0 - 256.


Często poruszane w tym porównaniu: After MySQL 5.0.3 - Bit: Używa 8 bajtów i przechowuje tylko dane binarne.


20
2017-07-27 19:22



To tak naprawdę nie odpowiada na pytanie. Jaka jest różnica pomiędzy BOOL i BOOLEAN? - nalply
Wcześniejsze posty już ustaliły, że oba są synonimami TINYINT (1). Idealnie, następnym pytaniem byłoby: "Dlaczego więc rozróżnili typy danych?" - Sixthfore
@ Stwórzmy ponownie Bit: Uses 8 bytes and stores only binary data. jest nieprawidłową informacją. Kiedy dodasz kolumnę bitową do twojej tabeli, zajmie ona cały bajt w każdym rekordzie, a nie tylko pojedynczy bit. Po dodaniu kolumny z drugim bitem będzie ona przechowywana w tym samym bajcie. Dziewiąta kolumna bitowa będzie wymagać drugiego bajtu pamięci. - Kolyunya


Jedna rzecz, którą właśnie zauważyłem - z kolumną zdefiniowaną jako BOOL w MySql, Spring Roo poprawnie generuje kod w Javie, aby odróżnić wartość od Boolean, więc przypuszczalnie określenie BOOL może dodać pewną wartość, nawet jeśli jest to tylko wskazówka dotycząca zamierzone użycie kolumny.


3
2017-07-01 12:29





sprawdź przegląd typów dokumentów MySQL dla typów liczbowych:

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html


2
2018-01-20 23:52