Trong MySQL, BOOLEAN là tên đồng nghĩa (alias) của TINYINT(1). Giá trị TRUE = 1, FALSE = 0. Để cập nhật giá trị boolean, dùng câu lệnh UPDATE với biểu thức logic.
Tạo bảng và chèn dữ liệu
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
isMarried BOOLEAN
);
mysql> INSERT INTO DemoTable (isMarried) VALUES
(FALSE), (TRUE), (TRUE), (FALSE);
Xem dữ liệu (hiển thị dưới dạng số 0/1)
mysql> SELECT * FROM DemoTable;
+----+-----------+
| Id | isMarried |
+----+-----------+
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 0 |
+----+-----------+
Cập nhật: Đảo ngược giá trị boolean cho Id = 4
Dùng toán tử logic NOT (hoặc !):
mysql> UPDATE DemoTable SET isMarried = !isMarried WHERE Id = 4;
Query OK, 1 row affected (0.17 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Kết quả sau cập nhật
mysql> SELECT * FROM DemoTable;
+----+-----------+
| Id | isMarried |
+----+-----------+
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
+----+-----------+
Các cách gán giá trị boolean khác
- Gán trực tiếp:
SET isMarried = TRUEhoặcSET isMarried = 1. - Gán từ biểu thức so sánh:
SET isMarried = (Age > 18). - Đảo ngược:
SET isMarried = NOT isMarriedhoặcSET isMarried = 1 - isMarried.
Mẹo hiển thị: Dùng IF(isMarried, 'Yes', 'No') hoặc CASE WHEN isMarried THEN 'Yes' ELSE 'No' END để hiển thị dễ đọc hơn 0/1.