我的应用程序在 appfog(AWS 亚洲)上。我想在使用 DEFAULT_TIMESTAMP 时更改默认时区以获得正确的时间。我试过了
SET GLOBAL time_zone = "Asia/Calcutta";
但它给出了错误
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
在 AppFog 基础架构中,许多用户、许多时区都共享同一个数据库引擎。因此,不允许单个用户更改在给定服务器上运行的所有不同数据库的全局时区设置。
但是,如果您阅读http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html您会看到对于给定的连接可以更改时区SET time_zone = <timezone>
,因此如果您换行你的 mysql 语句,你将有更少的时区转换逻辑要做。
以 UTC/GMT 时间保存所有内容,然后在显示时间时添加时区差异不是更好吗?
这样,即使在移动到其他服务时服务器时区发生了一些变化,您的时间数据也将保持正确。