MySQL BOOL 和 BOOLEAN 列数据类型之间有什么区别?

mysqlmysqli database

BOOL 和 BOOLEAN 都类似于 TINYINT(1)。可以说两者都是 TINYINT(1) 的同义词。

BOOLEAN

以下是 BOOLEAN 的示例。查询用于创建具有列布尔类型的表。

mysql> create table Demo
   -> (
   -> isVaidUser boolean
   -> );
Query OK, 0 rows affected (1.08 sec)

使用插入命令在表中插入记录的查询如下 −

mysql> insert into Demo values(true);
Query OK, 1 row affected (0.19 sec)

mysql> insert into Demo values(0);
Query OK, 1 row affected (0.17 sec)

使用 select 命令显示表中的所有值。查询如下 −

mysql> select *from Demo;

输出

+------------+
| isVaidUser |
+------------+
|          1 |
|          0 |
+------------+
2 rows in set (0.00 sec)

BOOL

这里是 BOOL 的示例。以下是创建表的查询 −

mysql> create table Demo1
   -> (
   -> isVaidUser bool
   -> );
Query OK, 0 rows affected (0.54 sec)

使用 insert 命令在表中插入记录。 查询语句如下 −

mysql> insert into Demo1 values(1);
Query OK, 1 row affected (0.14 sec)

mysql> insert into Demo1 values(false);
Query OK, 1 row affected (0.16 sec)

使用 select 命令显示表中的所有值。查询如下 −

mysql> select *from Demo1;

输出

+------------+
| isVaidUser |
+------------+
|          1 |
|          0 |
+------------+
2 rows in set (0.00 sec)

查看示例输出,false 转换为 0。这意味着 BOOL 和 BOOLEAN 隐式转换为 tinyint(1)。


相关文章