การเพิ่มคอลัมน์ BOOLEAN พร้อมค่าเริ่มต้น (DEFAULT) ผ่าน ALTER TABLE
ใน MySQL เราสามารถเปลี่ยนชนิดข้อมูลคอลัมน์และตั้งค่า DEFAULT พร้อมกันด้วยคำสั่ง ALTER TABLE ... CHANGE ... โดยระบุ BOOLEAN DEFAULT '1' NOT NULL
สร้างตารางเริ่มต้น
mysql> CREATE TABLE DemoTable (isAdult INT);
Query OK, 0 rows affected (1.39 sec)
เปลี่ยนชนิดข้อมูลและตั้งค่า DEFAULT 1
mysql> ALTER TABLE DemoTable CHANGE isAdult isAdult BOOLEAN DEFAULT '1' NOT NULL;
Query OK, 0 rows affected (1.18 sec)
เพิ่มข้อมูลทดสอบ (ไม่ระบุค่า isAdult)
mysql> INSERT INTO DemoTable VALUES();
mysql> INSERT INTO DemoTable VALUES();
mysql> INSERT INTO DemoTable VALUES(0);
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+---------+
| isAdult |
+---------+
| 1 |
| 1 |
| 0 |
+---------+
3 rows in set (0.00 sec)
คำอธิบาย
BOOLEANใน MySQL เป็นอีเลียสของTINYINT(1)ค่า 1 = TRUE, 0 = FALSEDEFAULT '1': ตั้งค่าเริ่มต้นเป็น 1 (TRUE) เมื่อไม่ได้ระบุค่าใน INSERTNOT NULL: ห้ามปล่อยค่า NULL- แถวแรกและที่สอง ไม่ระบุค่า → ได้ค่า 1 ตาม DEFAULT
- แถวที่สาม ระบุ 0 → เก็บค่า 0