MySQL 中 Boolean 和 tinyint(1) 的區別是什麼?
Boolean 和 tinyint(1) 之間最基本的區別僅在於命名約定。如果我們說需要 true 或 false 值,那麼 Boolean 會首先出現在我們的腦海中,而不是 tinyint(1)。
這些資料型別是同義詞。我們可以選擇使用哪種資料型別 - 值可以是 1 和 0 或 true 和 false。
以下是一個示例。
使用 Boolean 資料型別建立表。
mysql> create table BooleanDemo -> ( -> Light Boolean -> ); Query OK, 0 rows affected (0.52 sec)
將記錄插入表中。
mysql> insert into BooleanDemo values(true); Query OK, 1 row affected (0.12 sec)
顯示所有記錄。
mysql> select *from BooleanDemo;
以下是顯示 Boolean TRUE 的輸出。
+-------+ | Light | +-------+ | 1 | +-------+ 1 row in set (0.00 sec)
使用 tinyint(1) 資料型別建立表。
mysql> create table tinyint1Demo -> ( -> Light tinyint(1) -> ); Query OK, 0 rows affected (0.58 sec)
將記錄插入表中。
mysql> insert into tinyint1Demo values(1); Query OK, 1 row affected (0.12 sec)
顯示所有記錄。
mysql> select *from tinyint1Demo;
這是輸出。
+-------+ | Light | +-------+ | 1 | +-------+ 1 row in set (0.00 sec)
注意 - 唯一的區別在於語義。如果我們談論的是 true 或 false,那麼很明顯資料型別應該是 boolean。但如果我們談論的是 0 或 1,那麼資料型別應該是 tinyint(1)。
廣告