หากต้องการไปพร้อมกับความคิดเห็นของ @ ypercube ที่CURRENT_TIMESTAMP
จัดเก็บเป็น UTC แต่ดึงมาเป็นเขตเวลาปัจจุบันคุณสามารถส่งผลต่อการตั้งค่าเขตเวลาของเซิร์ฟเวอร์ของคุณด้วยตัวเลือก--default_time_zoneเพื่อดึงข้อมูล สิ่งนี้ทำให้การดึงข้อมูลของคุณอยู่ใน UTC เสมอ
ตามค่าเริ่มต้นตัวเลือกคือ 'ระบบ' ซึ่งเป็นวิธีการตั้งค่าเขตเวลาของระบบของคุณ (ซึ่งอาจจะใช่หรือไม่ใช่ UTC!):
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 16:28:45 |
+---------------------+
1 row in set (0.00 sec)
คุณสามารถตั้งค่านี้แบบไดนามิก:
mysql> SET @@session.time_zone='+00:00';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
หรือถาวรใน my.cnf ของคุณ:
[mysqld]
**other variables**
default_time_zone='+00:00'
รีสตาร์ทเซิร์ฟเวอร์ของคุณและคุณจะเห็นการเปลี่ยนแปลง:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| +00:00 | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 20:27:50 |
+---------------------+
1 row in set (0.01 sec)
CURRENT_TIMESTAMP
ไหม