如何使用mysql触发器插入本地时间
拥有一个共享服务器并运行mysql触发器,在该触发器中,时间被插入到列中,如下所示-如何使用mysql触发器插入本地时间,mysql,triggers,Mysql,Triggers,拥有一个共享服务器并运行mysql触发器,在该触发器中,时间被插入到列中,如下所示- Insert INTO mytable SET time=now(); 表和列time将获得GMT时间 我希望将本地时间插入到该表和列中 已尝试此代码,但插入时仍提供GMT时间- set @localtime = CONVERT_TZ('now()','GMT','+5:30'); Insert INTO mytable SET time=@localtime; 列time的时间戳设置为默认值,如果我将设
Insert INTO mytable SET time=now();
表和列time
将获得GMT时间
我希望将本地时间插入到该表和列中
已尝试此代码,但插入时仍提供GMT时间-
set @localtime = CONVERT_TZ('now()','GMT','+5:30');
Insert INTO mytable SET time=@localtime;
列time
的时间戳设置为默认值,如果我将设置更改为Varchar,则会出现错误-“#1048-列'time'不能为空”
请帮忙。我找到了这个问题的答案-
set @localtime = (SELECT CONVERT_TZ('now()','@@session.time_zone','+5:30'));
Insert INTO mytable SET time=@localtime;
您是否尝试过将“GMT”替换为“+0:00”?其他选择可能是直接设置服务器本地TZ@Joshua已经尝试了“+0:00”,但给出了相同的结果。正如我所说,我在一个共享服务器上,所以不能直接更改服务器本地时间