Boolean ใน MySQL
MySQL ไม่มี Boolean data type แยกต่างหาก ใช้ TINYINT(1) แทน
ค่าคงที่ TRUE/FALSE
mysql> SELECT TRUE, FALSE;
+------+-------+
| TRUE | FALSE |
+------+-------+
| 1 | 0 |
+------+-------+
mysql> SELECT true, false;
+------+-------+
| TRUE | FALSE |
+------+-------+
| 1 | 0 |
+------+-------+
การใช้งาน
WHERE active = TRUE≡WHERE active = 1≡WHERE activeWHERE deleted = FALSE≡WHERE deleted = 0≡WHERE NOT deleted- Column Definition:
is_active BOOLEAN→ กลายเป็นTINYINT(1)
ตัวอย่างในตาราง
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
is_active BOOLEAN DEFAULT TRUE -- จริงๆ คือ TINYINT(1) DEFAULT 1
);
INSERT INTO users (name, is_active) VALUES ('John', TRUE), ('Jane', FALSE);
SELECT * FROM users WHERE is_active; -- หาเฉพาะ Active