Um den CURRENT_TIMESTAMP
als UTC gespeicherten, aber als aktuelle Zeitzone abgerufenen Kommentar von @ ypercube zu ergänzen , können Sie die Zeitzoneneinstellung Ihres Servers mit der Option --default_time_zone für den Abruf beeinflussen. Auf diese Weise können Sie immer in UTC abrufen.
Standardmäßig ist die Option 'SYSTEM'. Dies ist die Einstellung Ihrer Systemzeitzone (die UTC sein kann oder nicht!):
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)
Sie können dies dynamisch einstellen:
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)
Oder dauerhaft in deiner my.cnf:
[mysqld]
**other variables**
default_time_zone='+00:00'
Starten Sie Ihren Server neu und Sie werden die Änderung sehen:
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
?