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

Data Type ที่ดีที่สุดสำหรับเก็บค่า 0, 1, NULL ใน MySQL

ใช้ TINYINT(1) UNSIGNED NULL สำหรับเก็บค่า 0, 1 และ NULL

ไวยากรณ์

yourColumnName TINYINT(1) UNSIGNED NULL;

ตัวอย่างการใช้งาน

สร้างตาราง:

mysql> create table StoreValue0and1orNULLDemo (
    -> isDigit TINYINT(1) UNSIGNED NULL
    -> );
Query OK, 0 rows affected (0.63 sec)

เพิ่มข้อมูล 0, 1, NULL:

mysql> insert into StoreValue0and1orNULLDemo values(0);
mysql> insert into StoreValue0and1orNULLDemo values(1);
mysql> insert into StoreValue0and1orNULLDemo values(NULL);

ผลลัพธ์:

+---------+
| isDigit |
+---------+
| 0       |
| 1       |
| NULL    |
+---------+

เหตุผลที่เลือก TINYINT(1) UNSIGNED

  • ใช้พื้นที่ 1 ไบต์เท่านั้น (ประหยัดที่สุด)
  • UNSIGNED รองรับ 0-255 (พอสำหรับ 0,1)
  • รองรับ NULL ได้
  • เหมาะสำหรับ Boolean flag (true/false)
  • ประสิทธิภาพดีกว่า BIT หรือ ENUM

ตัวเลือกอื่น: BIT(1) ก็ได้แต่จัดการยุ่งยากกว่า