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

การสร้างตาราง MySQL พร้อม Default Value สำหรับ DATE และ ENUM

การกำหนด 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');

ผลลัพธ์

idnamestart_dateend_datecategory
1John2020-10-28NULLLow
2David2020-10-282020-12-21Medium
3David2020-04-01NULLGood
4David2020-03-102020-08-22Good

ข้อสังเกต: DEFAULT (CURRENT_DATE) ใช้ฟังก์ชันได้ใน MySQL 8.0.13+ เวอร์ชันเก่าใช้ DEFAULT '0000-00-00' หรือ Trigger