Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql触发器插入本地时间_Mysql_Triggers - Fatal编程技术网

如何使用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的时间戳设置为默认值,如果我将设

拥有一个共享服务器并运行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
的时间戳设置为默认值,如果我将设置更改为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”,但给出了相同的结果。正如我所说,我在一个共享服务器上,所以不能直接更改服务器本地时间