Để 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.