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

วิธีเพิ่มฟิลด์ Boolean ใน MySQL

Data Type สำหรับ Boolean ใน MySQL

MySQL ไม่มี Boolean type จริงๆ ใช้ synonyms ต่อไปนี้ ซึ่งภายในจะเป็น TINYINT(1)

  • BOOL
  • BOOLEAN
  • TINYINT(1)

ค่า 0 = FALSE, 1 = TRUE, ค่าอื่นๆ ที่ไม่ใช่ 0 = TRUE

ตัวอย่างสร้างตารางและตรวจสอบโครงสร้าง

mysql> CREATE TABLE AddBoolDemo (
    -> isToggle BOOL
    -> );
Query OK, 0 rows affected (1.24 sec)

mysql> SHOW CREATE TABLE AddBoolDemo\G
*************************** 1. row ***************************
Table: AddBoolDemo
Create Table: CREATE TABLE `addbooldemo` (
  `isToggle` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

เห็นว่า BOOL ถูกแปลงเป็น tinyint(1) อัตโนมัติ

Insert ค่าต่างๆ

mysql> INSERT INTO AddBoolDemo VALUES(TRUE);
mysql> INSERT INTO AddBoolDemo VALUES(FALSE);
mysql> INSERT INTO AddBoolDemo VALUES(1);
mysql> INSERT INTO AddBoolDemo VALUES(0);

ผลลัพธ์

mysql> SELECT * FROM AddBoolDemo;
+----------+
| isToggle |
+----------+
| 1        |
| 0        |
| 1        |
| 0        |
+----------+
4 rows in set (0.00 sec)

การใช้งานใน PHP/Application:

  • PHP: true → 1, false → 0
  • Query: WHERE is_active = 1 หรือ WHERE is_active = TRUE
  • Index: สร้าง index บน boolean column ได้ปกติ

คำแนะนำ: ใช้ TINYINT(1) โดยตรงเพื่อความชัดเจน หรือ BOOLEAN เพื่อความอ่านง่าย ทั้งคู่เทียบเท่ากันสมบูรณ์