使用php的Mysql事件错误
Posted
技术标签:
【中文标题】使用php的Mysql事件错误【英文标题】:Mysql event error using php 【发布时间】:2016-10-20 11:17:47 【问题描述】:我正在尝试使用 php 脚本启动 mysql 事件。它使用 phpMyAdmin 工作(虽然我得到同样的错误)但不使用脚本。我收到以下错误:
您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“DELIMITER”附近使用的正确语法
DELIMITER |
CREATE EVENT myevent21222
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
DO
BEGIN
UPDATE `team` SET `reg` = '0' WHERE `id` = '1';
END |
# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).
DELIMITER ;
谁能找出问题所在?
在用户完成某项操作 5 分钟后更改数据库中的数据是否有任何替代方法?
【问题讨论】:
错误信息如何结束? 不要在代码中添加分隔符部分。 phpMyadmin 会自动为您完成这项工作 哦,现在应该可以了,我想。但我收到以下消息:“错误消息:准备好的语句协议尚不支持此命令”。好吧,我会尝试使用 mysqli_query ... 完美运行,谢谢! 您有 3 个问题,没有一个接受复选标记,也没有对那些对您有帮助的问题投赞成票? 【参考方案1】:创建事件:
drop event if exists `myevent21222`;
DELIMITER |
CREATE EVENT myevent21222
ON SCHEDULE EVERY 5 MINUTE STARTS '2016-01-01 00:00:00'
ON COMPLETION PRESERVE
DO
BEGIN
UPDATE `team` SET `reg` = '0' WHERE `id` = '1';
END |
# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).
DELIMITER ;
开启事件处理程序:
SET GLOBAL event_scheduler = ON; -- turn her on and confirm below
确认已开启:
show variables where variable_name='event_scheduler';
查看活动信息:
show events from so_gibberish2; -- note so_gibberish2 is my database name
-- 显然在上面使用你的数据库名称
查看手册页了解ON COMPLETION PRESERVE 的含义以及其他内容。
禁用或启用它:
ALTER EVENT myevent21222 disable;
ALTER EVENT myevent21222 enable;
【讨论】:
已经通过删除分隔符部分来工作。不过,非常感谢! 很高兴你能成功。别忘了它还在运行:p【参考方案2】:试试这个。
DELIMITER |
CREATE EVENT myevent21222
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
DO
BEGIN
UPDATE `team` SET `reg` = '0' WHERE `id` = '1';
END ;
# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).
DELIMITER |
【讨论】:
【参考方案3】:您必须先设置 *DELIMITER**:
查看 phpmyadmin :Creating functions in phpMyAdmin - Error: access denied you need the super privilege for this operation
DELIMITER |
CREATE EVENT myevent21222
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
DO
BEGIN
UPDATE `team` SET `reg` = '0' WHERE `id` = '1';
END |
# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).
DELIMITER ;
【讨论】:
我之前没有在问题中看到 DELIMITER |,然后它就可以工作了 但不在 phpMyAdmin 中 并且 OP 改变了他的问题 其实没有,他只添加了其余的错误信息 这里是答案***.com/questions/16801550/…以上是关于使用php的Mysql事件错误的主要内容,如果未能解决你的问题,请参考以下文章