Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểu dữ liệu cho cột flag (cờ) trong MySQL

Để lưu trữ giá trị boolean (true/false, 1/0) làm cờ trạng thái, kiểu dữ liệu phù hợp nhất là TINYINT(1).

Cú pháp

tenCot TINYINT(1) DEFAULT 1;

Ví dụ

Tạo bảng với cột isMarried làm flag:

mysql> create table DemoTable ( 
    ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    ClientName varchar(20), 
    isMarried tinyint(1) DEFAULT 1 
); 
Query OK, 0 rows affected (0.64 sec)

Chèn dữ liệu (mặc định = 1 khi không chỉ định):

mysql> INSERT INTO DemoTable(ClientName,isMarried) values('Larry',0); 
Query OK, 1 row affected (0.16 sec) 
mysql> INSERT INTO DemoTable(ClientName) values('David'); 
Query OK, 1 row affected (0.12 sec) 
mysql> INSERT INTO DemoTable(ClientName,isMarried) values('Mike',1); 
Query OK, 1 row affected (0.19 sec) 
mysql> INSERT INTO DemoTable(ClientName) values('Carol'); 
Query OK, 1 row affected (0.14 sec)

Kết quả:

+----------+------------+-----------+
| ClientId | ClientName | isMarried |
+----------+------------+-----------+
| 1        | Larry      | 0         |
| 2        | David      | 1         |
| 3        | Mike       | 1         |
| 4        | Carol      | 1         |
+----------+------------+-----------+

Lưu ý: MySQL không có kiểu BOOLEAN riêng; BOOLEAN và BOOL là alias của TINYINT(1). Giá trị 0 = FALSE, khác 0 = TRUE.