ใช่ คุณสามารถทำสิ่งนี้ได้ในสองวิธีต่อไปนี้
-
แนวทางแรก ในช่วงเวลาของการสร้างตาราง
-
แนวทางที่สอง ในขณะที่เขียนแบบสอบถาม
ไวยากรณ์มีดังนี้
สร้างตาราง yourTableName(yourDateTimeColumnName datetime default_timestamp);
คุณสามารถใช้คำสั่ง alter ได้
ไวยากรณ์มีดังนี้
เปลี่ยนตาราง yourTableName เพิ่ม yourColumnName datetime DEFAULT CURRENT_TIMESTAMP;
ใช้ทั้งสองรูปแบบทันที
วิธีแรกมีดังนี้
mysql> สร้างตาราง CurrentTimeStampDemo-> (-> CreationDate datetime ค่าเริ่มต้น current_timestamp-> );เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)
ถ้าคุณไม่ส่งพารามิเตอร์ใดๆ สำหรับคอลัมน์ 'CreationDate', MySQL โดยค่าเริ่มต้นจะจัดเก็บการประทับเวลาปัจจุบัน
แทรกบันทึกในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า CurrentTimeStampDemo (); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที) ให้เราแสดงระเบียนทั้งหมดจากตาราง
โดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก CurrentTimeStampDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------------------+| CreationDate |+---------------------+| 2019-01-02 15:53:03 |+--------------------- +1 แถวในชุด (0.00 วินาที)แนวทางที่สอง
นี่คือการใช้คำสั่ง ALTER แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง Current_TimestampDemo-> (-> Id int-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.43 วินาที)
นี่คือแบบสอบถามเพื่อจัดเก็บเวลาสร้างโดยอัตโนมัติ แบบสอบถามมีดังนี้
mysql> เปลี่ยนตาราง Current_TimestampDemo-> ADD CreationDate datetime DEFAULT CURRENT_TIMESTAMP; สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0
หากคุณไม่ส่งค่าของคอลัมน์ 'CreationDate' MySQL เก็บค่าวันที่และเวลาปัจจุบันสำหรับคอลัมน์นี้ แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า Current_TimestampDemo(Id) (1); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)
แสดงระเบียนของตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก CreationDate จาก Current_TimestampDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------------------+| CreationDate |+---------------------+| 2019-01-02 16:25:12 |+--------------------------- +1 แถวในชุด (0.00 วินาที)