0

我在创建 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 服务器版本相对应的手册以获取正确的语法以在第 1 行使用 near 'EVENT inser_value ON SCHEDULE 每 1 天 DO INSERT INTO articoli (titolo) VALUE'

4

1 回答 1

5

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

请检查这两个。

本文讨论如何配置 MySQL 事件调度程序

启动 MySQL 的事件调度器

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

SHOW PROCESSLIST;  

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

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

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

SET GLOBAL event_scheduler = ON;  

于 2012-06-01T16:20:43.600 回答