在MySQL中,BOOL是一種布爾類型,表示真或假。它可以存儲1或0,代表真或假。
使用BOOL列可以將列定義為布爾類型,這樣可以避免使用枚舉類型,從而在存儲空間上進(jìn)行優(yōu)化。
CREATE TABLE example ( column1 BOOLEAN, column2 BOOL, column3 TINYINT(1) );
在MySQL中,NULL和0都被視為假,而非0值被視為真。如果要將列定義為接受NULL值,則可以將列定義為允許NULL。
CREATE TABLE example ( column1 BOOLEAN NOT NULL, column2 BOOLEAN NULL );
在MySQL中,可以使用BINARY關(guān)鍵字將BOOL列定義為二進(jìn)制類型,這會將該列的大小減小為1個字節(jié)。此外,MYSQL將BOOL值存儲為TINYINT類型,所以可以在將BOOL值與其他整數(shù)值進(jìn)行比較時使用TINYINT類型。
CREATE TABLE example ( column1 BINARY(1), column2 TINYINT(1) );
總之,在MySQL中使用BOOL類型可以有效地優(yōu)化存儲空間,并且使用TINYINT類型可以使BOOL類型與其他整數(shù)類型的比較更加靈活。