๑๕ พ.ย. ๒๕๕๐

ความเข้าใจเรื่องฟิลด์ชนิด timestamp ของ mysql

ความเข้าใจเรื่องฟิลด์ชนิด timestamp ของ mysql

timestamp ใช้สำหรับเก็บ วันที่และเวลา ซึ่งจะเก็บอยู่ในรูปแบบของ YYYYMMDDHHMMSS ที่เริ่มนับจาก วันที่ 1 มกราคม 1970:00 00 00

สำหรับช่วงข้อมูลที่เก็บได้คือ ตั้งแต่ วันที่ 1 มกราคม 1970 ถึง ปี 2037

ทีนี้ถ้าถามว่า เมื่อมีฟิลด์ datetime แล้ว ทำไมต้องมี timestamp เข้ามาอีก ฟิลด์ที่สองนี้ มีความต่างกัน

1.ช่วงวันที่ที่เก็บ
datetime : 1000-01-01 00:00:00 ถึง 9999-12-31 23:59:59 (ปี-เดือน-วัน)
timestamp: 1970-01-01 00:00:00 ถึง 2037-12-31 23:59:59 (ปี-เดือน-วัน)

2.ความสามารถ
timestamp : เราสามารถกำหนดตั้งแต่ตอนสร้างตารางได้ว่าให้ฟิลด์นี้อัปเดตเป็นวันเวลาปัจจุบันโดยอัตโนมัติ เมื่อมีการ เพิ่ม/แก้ไขข้อมูล ในแถว มันจะอัปเดตตัวมันเอง สะดวกเหลือหลายเมื่อเราจะเก็บข้อมูลที่จะต้องบอกว่า แก้ไขครั้งล่าสุดเมื่อไร
datetime : จะไม่มีความสามารถนี้

ลองเข้าไปใน phpMyAdmin แล้วลองกำหนดฟิลด์ใดฟิลด์หนึ่งให้เป็น timestamp ดู จะมี CURRENT_TIMESTAMP ให้ท่านติ๊กถูก เป็นค่า ดีฟอลต์ แล้วลองไปกำหนดฟิลด์นี้ เป็น datetime ดู จะเห็นว่ามันต่างกัน

ไม่มีความคิดเห็น: