我对MySQL NOW()函数有一个问题
如果我运行:
SELECT NOW();我得到了值:
2015-11-24 13:35:00 (correct value with Swedish winter-time)但是,如果我在触发器函数中使用NOW()来更新时间戳列,当另一列发生如下更改时:
SET NEW.timestamp = NOW(); 我得到了值:
2015-11-24 12:35:00我怎么才能解决这个问题,或者为什么它会这样呢?
发布于 2015-11-24 20:56:07
要使用NOW()获取当前日期和时间,请根据您的国家/地区设置时区以获取正确的日期和时间。请检查链接here
如果要更改MySQL服务器的时区以调整NOW()函数返回的当前日期和时间,请使用以下语句:
设置time_zone = your_time_zone;
发布于 2015-11-24 22:59:27
MySQL有多种指定时区的方法-服务器具有默认时区,每个客户端也可以基于每个连接指定自己的时区。
我认为您的SELECT使用的是客户端连接指定的时区,而触发器使用的是服务器的默认时区。
https://dev.mysql.com/doc/refman/5.6/en/time-zone-support.html
https://stackoverflow.com/questions/33894049
复制相似问题