您可以使用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)
使用插入命令在表中添加 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)