อย่าใช้ UNIX_TIMESTAMP() เพราะคืนค่าเป็นตัวเลข (Integer) ไม่ใช่รูปแบบวันที่
ปัญหาของ UNIX_TIMESTAMP()
mysql> SELECT UNIX_TIMESTAMP('2019-01-09 15:48:23') AS IntegerValue;
+--------------+ | IntegerValue | +--------------+ | 1547029103 | +--------------+
วิธีที่ถูกต้อง: Insert วันที่โดยตรง
INSERT INTO yourTableName(yourTimestampColumn) VALUES('yourCustomDateTime');
ตัวอย่างการใช้งาน
สร้างตาราง TimestampDemo:
mysql> CREATE TABLE TimestampDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> yourTimestamp TIMESTAMP,
-> PRIMARY KEY(Id)
-> );
Insert วันที่กำหนดเอง:
mysql> INSERT INTO TimestampDemo(yourTimestamp) VALUES('2019-01-09 15:48:23');
mysql> INSERT INTO TimestampDemo(yourTimestamp) VALUES('2018-03-14 16:04:23');
mysql> INSERT INTO TimestampDemo(yourTimestamp) VALUES('2017-12-10 10:08:20');
mysql> INSERT INTO TimestampDemo(yourTimestamp) VALUES('2016-04-05 13:45:21');
ผลลัพธ์
+----+---------------------+ | Id | yourTimestamp | +----+---------------------+ | 1 | 2019-01-09 15:48:23 | | 2 | 2018-03-14 16:04:23 | | 3 | 2017-12-10 10:08:20 | | 4 | 2016-04-05 13:45:21 | +----+---------------------+
สรุป: ส่งค่าวันที่ในรูปแบบ 'YYYY-MM-DD HH:MM:SS' โดยตรงเข้าไปในคอลัมน์ TIMESTAMP ได้เลย ไม่ต้องแปลง