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

วิธีใช้ NOW() กับฟิลด์ TIMESTAMP ใน MySQL Workbench

กำหนดค่าเริ่มต้น 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 ตั้งค่าเริ่มต้นเป็นเวลาปัจจุบันตอน INSERT
  • ON 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;