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

Khác biệt giữa Boolean và tinyint(1) trong MySQL?


Khác biệt cơ bản chỉ nằm ở quy ước đặt tên (semantics). Cả hai là synonyms (tương đương).

  • Cần true/false → dùng BOOLEAN
  • Cần 0/1 → dùng TINYINT(1)

Ví dụ BOOLEAN

mysql> CREATE TABLE BooleanDemo (Light BOOLEAN);
Query OK, 0 rows affected (0.52 sec)
mysql> INSERT INTO BooleanDemo VALUES(TRUE);
Query OK, 1 row affected (0.12 sec)
mysql> SELECT * FROM BooleanDemo;
+-------+
| Light |
+-------+
| 1     |
+-------+
1 row in set (0.00 sec)

Ví dụ TINYINT(1)

mysql> CREATE TABLE Tinyint1Demo (Light TINYINT(1));
Query OK, 0 rows affected (0.58 sec)
mysql> INSERT INTO Tinyint1Demo VALUES(1);
Query OK, 1 row affected (0.12 sec)
mysql> SELECT * FROM Tinyint1Demo;
+-------+
| Light |
+-------+
| 1     |
+-------+
1 row in set (0.00 sec)

Lưu ý: MySQL lưu BOOLEAN dưới dạng TINYINT(1). TRUE = 1, FALSE = 0. Chỉ khác ở mặt ngữ nghĩa.