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

MySQL สามารถจัดเก็บการประทับเวลาโดยอัตโนมัติในแถวได้หรือไม่?


ใช่ คุณสามารถทำสิ่งนี้ได้ในสองวิธีต่อไปนี้

  • แนวทางแรก ในช่วงเวลาของการสร้างตาราง

  • แนวทางที่สอง ในขณะที่เขียนแบบสอบถาม

ไวยากรณ์มีดังนี้

สร้างตาราง 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 วินาที)