如何向 MySQL 中新增一個 Boolean 欄位?
你可以使用 tinyint(1) 或 bool 或 boolean。所有這些都是同義詞。如果你使用 bool 或 boolean 資料型別,那麼它在內部將轉換為 tinyint(1)。
在 PHP 中,值 0 表示 false,1 表示 true。除了 0 以外的其他任何數字也都是 true。
讓我們檢查一下使用表格的 bool 或 boolean 的內部表示。以下是建立表格的查詢。
mysql> create table AddBoolDemo -> ( -> isToggle bool -> ); Query OK, 0 rows affected (1.24 sec)
要檢查表格的 DDL,以下為查詢。
SHOW CREATE TABLE yourTableName;
讓我們檢查一下 bool 的表示,它在內部轉換為 tinyint(1)。現在檢查 AddBoolDemo 表格。
mysql> show create table AddBoolDemo\G
以下為輸出。
*************************** 1. row *************************** Table: AddBoolDemo Create Table: CREATE TABLE `addbooldemo` ( `isToggle` tinyint(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec)
使用 insert 命令向表格中新增 true 或 false 或 1 或 0 文字。
mysql> insert into AddBoolDemo values(true); Query OK, 1 row affected (0.19 sec) mysql> insert into AddBoolDemo values(false); Query OK, 1 row affected (0.19 sec) mysql> insert into AddBoolDemo values(1); Query OK, 1 row affected (0.10 sec) mysql> insert into AddBoolDemo values(0); Query OK, 1 row affected (0.18 sec)
使用 select 語句顯示錶格中的所有記錄。查詢如下。
mysql> select *from AddBoolDemo;
以下為輸出。
+----------+ | isToggle | +----------+ | 1 | | 0 | | 1 | | 0 | +----------+ 4 rows in set (0.00 sec)
廣告