【发布时间】:2016-09-19 15:37:31
【问题描述】:
我正在尝试在我的表上创建一个事件,每隔几分钟运行一次,以查看“next_run”是否为 now(),如果是,请将“频率”添加到“next_run”,但每次我都收到语法异常.
下面是表结构...
LAST_RUN |FREQUENCY| NEXT_RUN
----------------------------------------------------
2016-09-15 06:02:06 | 1 DAY | 2016-09-15 06:02:06
" 我正在使用的代码是这样的......
UPDATE TASKS_MASTER_COPY
@num:=CAST(FREQUENCY) AS UNSIGNED,
@p :=SUBSTR(FREQUENCY, CHAR_LENGTH(@num)+2)
LAST_RUN=NEXT_RUN,
NEXT_RUN=NEXT_RUN + CASE
WHEN @p='YEAR' THEN DATE_ADD(NEXT_RUN, INTERVAL @num YEAR)
WHEN @p='MONTH' THEN DATE_ADD(NEXT_RUN, INTERVAL @num MONTH)
WHEN @p='DAY' THEN DATE_ADD(NEXT_RUN, INTERVAL @num DAY)
WHEN @p='WEEK' THEN DATE_ADD(NEXT_RUN, INTERVAL @num WEEK)
END
WHERE TASK_MASTER_ID=100;
有人可以帮我解决这个问题吗? 提前致谢。
【问题讨论】:
-
您收到的确切错误文本/异常是什么?
-
/* SQL 错误 (1064):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 '@num:=CAST(FREQUENCY) AS UNSIGNED, @p :=SUBSTR(FREQUENCY, CHAR_LENGTH(@num)+2)' 附近使用正确的语法 / / 受影响的行:0 找到的行:0 警告:0 1 个查询中 0 个的持续时间:0.000 秒。 */