在 MySQL 中儲存值的 BOOLEAN 還是 TINYINT?


MySQL 的 BOOLEAN 和 BOOL 都等同於 TINYINT(1)。每當你使用 BOOLEAN 和 BOOL 資料型別建立列時,MySQL 會隱式地將 BOOLEAN 和 BOOL 轉換為 TINYINT(1)。BOOLEAN 和 BOOL 等同於 TINYINT(1),因為它們是同義詞。

使用 BOOLEAN 資料型別建立表。用於建立表的查詢。

mysql> create table BooleanDemo
   -> (
   -> IsOn BOOLEAN
   -> );
Query OK, 0 rows affected (0.58 sec)

現在檢查上述表的內部結構。查詢如下 −

mysql> show create table BooleanDemo;

輸出

+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table       | Create Table                                                                                                                     |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| BooleanDemo | CREATE TABLE `booleandemo` ( `IsOn` tinyint(1) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

檢視上述樣本輸出,BOOLEAN 被轉換為 tinyint(1)。BOOL 資料型別的情況也是如此。用於建立表的查詢如下 −

mysql> create table BOOLDemo
   -> (
   -> validUser BOOL
   -> );
Query OK, 0 rows affected (0.61 sec)

現在檢查表的內部結構。查詢如下 −

mysql> show create table BOOLDemo;

輸出

+----------+------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                       |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| BOOLDemo | CREATE TABLE `booldemo` (`validUser` tinyint(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

更新於: 2019-07-30

525 次瀏覽

開啟你的 職業生涯

獲得完成課程的認證

開始

廣告
© . All rights reserved.