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

วิธี Insert วันที่กำหนดเองลงในคอลัมน์ TIMESTAMP ของ MySQL

อย่าใช้ 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 ได้เลย ไม่ต้องแปลง