Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ไม่มี BOOLEAN ใช้ TRUE/FALSE แทน (1/0)

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 active
  • WHERE 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