การใช้คำสั่ง DEFAULT
เพื่อกำหนดค่าเริ่มต้นให้คอลัมน์ ให้ใช้คีย์เวิร์ด DEFAULT ตามรูปแบบ:
columnName dataType DEFAULT 'defaultValue'
ตัวอย่าง: เพิ่มคอลัมน์พร้อมค่า Default
สร้างตาราง DemoTable758 ก่อน:
mysql> create table DemoTable758 (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName varchar(100) );
Query OK, 0 rows affected (0.66 sec)
เพิ่มคอลัมน์ Colors เป็น ENUM พร้อมค่า Default เป็น 'YELLOW':
mysql> alter table DemoTable758
add column Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
Query OK, 0 rows affected (0.44 sec)
ตรวจสอบโครงสร้างตาราง
mysql> desc DemoTable758;
ผลลัพธ์แสดงค่า Default ของคอลัมน์ Colors คือ YELLOW:
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(100) | YES | | NULL | |
| Colors | enum('RED','GREEN','BLUE','ORANGE','YELLOW') | YES | | YELLOW | |
+-----------+----------------------------------------------+------+-----+---------+----------------+
ทดสอบการทำงานของ Default
แทรกข้อมูลโดยไม่ระบุค่า Colors สำหรับแถวแรก:
mysql> insert into DemoTable758(FirstName) values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable758(FirstName,Colors) values('Carol','RED');
Query OK, 1 row affected (0.17 sec)
แสดงผลข้อมูล:
mysql> select * from DemoTable758;
+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
| 1 | John | YELLOW |
| 2 | Carol | RED |
+----+-----------+--------+
สรุป
- ใช้
DEFAULT 'value'เมื่อสร้างหรือแก้ไขคอลัมน์ - ค่า Default จะถูกใช้โดยอัตโนมัติเมื่อไม่ระบุค่าตอน INSERT
- เหมาะสำหรับค่าที่ซ้ำบ่อย เช่น สถานะเริ่มต้น, รหัสประเทศ, หรือสีที่ใช้บ่อย