MySQL - 插入期间列特定的时区

时间:2012-05-14 04:19:50

标签: mysql timezone

假设我有2个TIMESTAMP字段/列,eventstamp。对于event字段,当我们插入时,我想设置时区,以便事件将使用用户指定的时区。但是,我不希望stamp使用该时区。我希望stamp使用服务器正在使用的任何默认时区。

SET time_zone = <UTC offset>;

不起作用,因为它会影响eventstamp,我们只希望event受到时区的影响。

有没有办法在插入过程中为特定列设置时区?

2 个答案:

答案 0 :(得分:1)

当您插入日期时,MySQL不会为时区而烦恼。

我建议以GMT(+00:00)存储日期/时间,并设置另一个存储所用时区的字段(例如“欧洲/阿姆斯特丹”)。

修改

我不完全确定您是否需要使用时区,因为您可以在脚本/应用程序中以任何方式格式化GMT时间。

答案 1 :(得分:0)

SET time_zone = <user timezone>;    
INSERT ... SET event = CURRENT_TIMESTAMP(), stamp = UTC_TIMESTAMP(), ...

或在http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

了解详情