กำหนดค่าเริ่มต้น TIMESTAMP เป็นเวลาปัจจุบันด้วย NOW()
ใน MySQL Workbench สามารถตั้งค่า Default Value ของคอลัมน์ TIMESTAMP เป็น CURRENT_TIMESTAMP (หรือ NOW()) ได้ทั้งตอนสร้างตารางและตอนแก้ไขตาราง
สร้างตารางพร้อม Default Timestamp
CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ShippingDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT โดยไม่ระบุ ShippingDate (จะใช้ NOW() อัตโนมัติ)
INSERT INTO DemoTable (ShippingDate) VALUES (NOW());
ผลลัพธ์ใน MySQL Workbench
หน้าจอ Query และ Result Grid จะแสดงค่า ShippingDate เป็นวันเวลาปัจจุบันที่ INSERT
คำอธิบาย:
DEFAULT CURRENT_TIMESTAMPตั้งค่าเริ่มต้นเป็นเวลาปัจจุบันตอน INSERTON UPDATE CURRENT_TIMESTAMPอัปเดตเป็นเวลาปัจจุบันตอน UPDATE (เพิ่มได้)- MySQL 5.6.5+ รองรับหลายคอลัมน์ TIMESTAMP ที่มี DEFAULT/ON UPDATE
- ใน Workbench: คลิกขวาที่คอลัมน์ → Edit Column → Default/Expression → พิมพ์
CURRENT_TIMESTAMP
⚠ หมายเหตุ: NOW() และ CURRENT_TIMESTAMP ให้ผลลัพธ์เหมือนกัน แต่ CURRENT_TIMESTAMP เป็นมาตรฐาน SQL (ANSI) แนะนำให้ใช้ตัวนี้
ตัวอย่างเพิ่ม ON UPDATE:
ALTER TABLE DemoTable MODIFY ShippingDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;