การกำหนด DEFAULT Constraint ใน CREATE TABLE
สามารถตั้งค่า Default ให้คอลัมน์ DATE, ENUM และชนิดอื่นๆ ได้ในขณะ CREATE TABLE
ตัวอย่าง
CREATE TABLE demo33 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
start_date DATE DEFAULT (CURRENT_DATE),
end_date DATE DEFAULT NULL,
category ENUM('Good', 'Medium', 'Low') DEFAULT 'Low'
);
การทดสอบ INSERT แบบต่างๆ
-- 1. ให้ name อย่างเดียว → start_date = today, end_date = NULL, category = 'Low'
INSERT INTO demo33 (name) VALUES ('John');
-- 2. ระบุ end_date และ category
INSERT INTO demo33 (name, end_date, category) VALUES ('David', '2020-12-21', 'Medium');
-- 3. ระบุ start_date และ category
INSERT INTO demo33 (name, start_date, category) VALUES ('David', '2020-04-01', 'Good');
-- 4. ระบุครบ
INSERT INTO demo33 (name, start_date, end_date, category) VALUES ('David', '2020-03-10', '2020-08-22', 'Good');
ผลลัพธ์
| id | name | start_date | end_date | category |
|---|---|---|---|---|
| 1 | John | 2020-10-28 | NULL | Low |
| 2 | David | 2020-10-28 | 2020-12-21 | Medium |
| 3 | David | 2020-04-01 | NULL | Good |
| 4 | David | 2020-03-10 | 2020-08-22 | Good |
ข้อสังเกต: DEFAULT (CURRENT_DATE) ใช้ฟังก์ชันได้ใน MySQL 8.0.13+ เวอร์ชันเก่าใช้ DEFAULT '0000-00-00' หรือ Trigger