2015-04-23 13 views
6

Kiedy używałam typu jako bool podczas tworzenia tabeli został on bezpośrednio przekształcony w tinyint (1), nie wiem dokładnego szacunku dlaczego mysql convert to do tinyint zamiast bool typu danych?dlaczego mysql konwertuje bool na tinyint (1) zamiast tego powinno być boolem w tabeli mysql

+0

uzyskać więcej informacji zobacz: [Boolean vs tinyint (1) dla wartości logicznych w MySQL] (http://stackoverflow.com/questions/3751853/boolean-vs-tinyint1-for-boolean-values-in-mysql) –

Odpowiedz

3

BOOL jest równoważnikiem TINYINT (1). TINYINT Używa najmniejszego typu danych liczbowych.

więc kiedy próby utworzenia tabeli z logiczną typ danych to automatycznie zostanie przekonwertowany do inttype

e.g. 
CREATE TABLE IF NOT EXISTS `test` 
(
    `p_id` int(11) NOT NULL, 
    `p_name` varchar(25) NOT NULL, 
    `p_description` varchar(100) NOT NULL, 
    `p_status` bool NOT NULL DEFAULT TRUE 
) 

Dzięki Amit

3

TINYINT Używa najmniejszego typu danych liczbowych.

BOOL jest odpowiednikiem TINYINT (1).

Powiązane problemy