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

อัปเดตคอลัมน์ TIMESTAMP ใน MySQL

ใช้คำสั่ง UPDATE ... SET timestamp_column = NOW() WHERE condition เพื่อตั้งค่าเป็นวันเวลาปัจจุบัน

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> PunchOut TIMESTAMP,
    -> PunchStatus TINYINT(1)
    -> );

เพิ่มข้อมูลตัวอย่าง

mysql> INSERT INTO DemoTable VALUES('2019-01-31 6:30:10', 1);
mysql> INSERT INTO DemoTable VALUES('2019-02-06 4:10:13', 0);
mysql> INSERT INTO DemoTable VALUES('2018-12-16 03:00:30', 0);
mysql> INSERT INTO DemoTable VALUES('2016-11-25 02:10:00', 1);

แสดงข้อมูลก่อนอัปเดต

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+---------------------+-------------+
| PunchOut            | PunchStatus |
+---------------------+-------------+
| 2019-01-31 06:30:10 | 1           |
| 2019-02-06 04:10:13 | 0           |
| 2018-12-16 03:00:30 | 0           |
| 2016-11-25 02:10:00 | 1           |
+---------------------+-------------+

อัปเดต PunchOut = NOW() สำหรับ PunchStatus = 0

mysql> UPDATE DemoTable SET PunchOut = NOW() WHERE PunchStatus = 0;

หมายเหตุ: สมมติวันเวลาปัจจุบันคือ 2019-06-30 13:43:45

ตรวจสอบผลลัพธ์

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+---------------------+-------------+
| PunchOut            | PunchStatus |
+---------------------+-------------+
| 2019-01-31 06:30:10 | 1           |
| 2019-06-30 13:43:45 | 0           |
| 2019-06-30 13:43:45 | 0           |
| 2016-11-25 02:10:00 | 1           |
+---------------------+-------------+

คำอธิบาย: NOW() คืนค่าวันเวลาปัจจุบันของเซิร์ฟเวอร์ ใช้กับ TIMESTAMP หรือ DATETIME ได้