Computer >> Máy Tính >  >> Lập trình >> MySQL

BOOLEAN hoặc TINYINT để lưu trữ các giá trị trong MySQL?

MySQL BOOLEAN và BOOL đều tương đương với TINYINT (1). Bất cứ khi nào bạn tạo một cột sử dụng kiểu dữ liệu BOOLEAN và BOOL, MySQL sẽ chuyển đổi ngầm định BOOLEAN và BOOL thành TINYINT (1). BOOLEAN và BOOL tương đương với TINYINT (1), vì chúng là từ đồng nghĩa.

Tạo bảng bằng kiểu dữ liệu BOOLEAN. Truy vấn để tạo bảng.

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

Bây giờ hãy kiểm tra cấu trúc bên trong của bảng trên. Truy vấn như sau -

mysql> show create table BooleanDemo;

Đầu ra

+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| 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)

Nhìn vào đầu ra mẫu ở trên, BOOLEAN được chuyển đổi thành tinyint (1). Tương tự đối với kiểu dữ liệu BOOL cũng vậy. Truy vấn để tạo bảng như sau -

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

Bây giờ hãy kiểm tra cấu trúc bên trong của bảng. Truy vấn như sau -

mysql> show create table BOOLDemo;

Đầu ra

+----------+------------------------------------------------------------------------------------------------------------------------------------+
| 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)