【问题标题】:MySQL 5.5 Create event gives syntax errorMySQL 5.5 创建事件给出语法错误
【发布时间】:2012-06-06 21:42:00
【问题描述】:

我在创建 EVENT 时遇到问题。

我有一个“articoli”表。有一个 articoli.titolo 字段 varchar (255),当我尝试创建这样的事件时:

CREATE EVENT inser_value
ON SCHEDULE every 1 day
DO INSERT INTO articoli (titolo) VALUES ('my_value');

这是mysqlerror的输出

ERROR 1064 (42000):您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 语法使用 n 耳 'EVENT inser_value ON SCHEDULE 每 1 天 DO 在第 1 行插入到 articoli (titolo) VALUE'

【问题讨论】:

  • 我编辑问题。现在已经发布了

标签: mysql mysql-event


【解决方案1】:

如果您的 MySQL 版本不支持 Event 模块,或者它没有启动,则会出现此错误。

请检查这两个。

本文讲的是How to Configure MySQL Event Scheduler

启动 MySQL 的事件调度器

MySQL 事件由一个特殊的事件调度线程执行。它默认是禁用的,所以使用下面的 MySQL 命令可以确定它是否正在运行:

SHOW PROCESSLIST;  

如果调度程序正在运行,将至少显示两行,其中一行将其用户字段设置为event_scheduler。如果只返回一行,则调度程序被禁用并且事件不会运行。

您可以在 MySQL 配置文件(Windows 上的 my.cnf 或 my.ini)中使用命令行选项 --event-scheduler=ONsetting event_scheduler=ON 确保启动 MySQL 时调度程序启动。

或者,您可以从 MySQL 命令行启动调度程序:

SET GLOBAL event_scheduler = ON;  

【讨论】:

  • 谢谢。我尝试使用 SET GLOBAL event_scheduler = ON;但它会输出:ERROR 1193(HY000): unknow system variable 'event_scheduler'
  • 我遇到了同样的错误。检查您的 mysql 版本是否大于 5.1.6,即他们添加了 event_scheduler 功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2014-12-21
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 2016-02-07
相关资源
最近更新 更多