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

บันทึกเวลาสร้างแถวอัตโนมัติด้วย DEFAULT CURRENT_TIMESTAMP ใน MySQL

ใช้ TIMESTAMP DEFAULT CURRENT_TIMESTAMP เพื่อบันทึกเวลาปัจจุบันอัตโนมัติตอน INSERT

สร้างตาราง

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

เพิ่มข้อมูล (แถวที่ 2 ไม่ระบุเวลา → ใช้เวลาปัจจุบัน)

mysql> INSERT INTO DemoTable(Arrivaltime) VALUES ('2018-01-31 10:34:56');
mysql> INSERT INTO DemoTable VALUES ();  -- ใช้ DEFAULT
mysql> INSERT INTO DemoTable(Arrivaltime) VALUES ('2019-01-31 11:10:12');

ดูข้อมูล

mysql> SELECT * FROM DemoTable;
+----+---------------------+
| Id | Arrivaltime         |
+----+---------------------+
|  1 | 2018-01-31 10:34:56 |
|  2 | 2019-05-02 12:50:24 |  ← เวลาที่ INSERT จริง
|  3 | 2019-01-31 11:10:12 |
+----+---------------------+

หมายเหตุสำคัญ:

  • ทำงานเฉพาะตอน INSERT เท่านั้น
  • ไม่อัปเดตเวลาเมื่อ UPDATE แถว (ใช้ ON UPDATE CURRENT_TIMESTAMP ถ้าต้องการ)
  • MySQL 5.6.5+ รองรับหลายคอลัมน์ TIMESTAMP ที่มี DEFAULT นี้