我有一个mysql数据库,它位于远程共享服务器上。
当用其他数据填充记录时,表中的一列需要用当前的\u时间戳自动填充。
数据库使用的系统时间是“utc+00:00”,但我需要它是“utc+01:00”
我不能使用“设置全局时区='+01:00';”因为我没有特权(可以理解),而且我也明白,仅仅在数据库级别设置时区是不可能的(除了会话示例之外,这个解决方案还需要坚持)。
有没有一种方法可以让我的列填充“current\u timestamp+add one hour”,比如计算?因为我正在寻找一个解决方案,在db级的这个。
我不是很慷慨,但很感激你的建议。
3条答案
按热度按时间vhipe2zx1#
您可以创建一个触发器,该触发器在每次插入该列时启动
uinbv5nw2#
查找函数convert\u tz
它可能对您的需要有所帮助,以下是文档:
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_convert-tz公司
c86crjj03#
你只会改变时区,
例子:
如果不存在,则创建表test\u timestamp(t1 timestamp);
设置时区='+00:00';
插入测试时间戳值('2008-01-01 00:00:01');
从测试时间戳中选择t1;
t1='2008-01-01 00:00:01'
设置时区='+03:00';
从测试时间戳中选择t1;
t1='2008-01-01 03:00:01'