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

Cập nhật giá trị boolean trong MySQL (TRUE/FALSE)

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 = TRUE hoặc SET isMarried = 1.
  • Gán từ biểu thức so sánh: SET isMarried = (Age > 18).
  • Đảo ngược: SET isMarried = NOT isMarried hoặc SET 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.