问题标签 [mysql-event]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3205 浏览

mysql - 每1分钟的MYSQL事件不起作用

首先,这是 OpenCart

我有两张表:

1. oc_product (product_id, model, price, event_start, event_end 等)
2. oc_product_to_category (product_id, category_id)

每个产品都有开始日期和结束日期。我创建了 MYSQL 事件,该事件捕获具有过期日期(event_end < NOW())的每个产品,以将其存储在 id = 68 的“存档”类别中

这是MYSQL EVENT的代码

当活动开始时,它可以正常工作!但是,当我开始管理并发布过期日期的新产品时,我正在等待 1 分钟以查看“存档”类别中的产品,但没有任何反应。

我在“SHOW PROCESSLIST”中看到,一切正常:

而且“SHOW EVENTS”看起来也不错

我在本地工作,不是住

有任何想法吗?

提前致谢!:)

0 投票
0 回答
63 浏览

mysql - 使用 INSERT AND DELETE 保存 MySQL 事件时出现语法错误

我创建了一个 EVENT 基本上做了两件事:

  1. SELECT超过 30 天并INSERT进入achieve表的行。
  2. DELETE表中超过 30 天的行trends

我分别测试了这两个脚本,它们都可以正常工作,但是将它们放入 EVENT 时出现语法错误。

如果我只在事件正文中使用用户INSERT INTODELETE脚本,则可以很好地保存。

脚本是:

错误信息是:

0 投票
1 回答
958 浏览

php - 如何使用 mysql 安排事件和创建触发器

我的数据库中有 3 个表,tbl_events、tbl_exceptions、tbl_archived_events

tbl_events存储事件列表,其中包含以下字段

tbl_exceptions存储一组事件及其不举行的日期。有时可能不会举行重复性事件。该表将包含以下字段信息

tbl_archive_events将存储已过期的过去事件。此表将存储与 tbl_events 表相同的数据,但仅用于过去的事件

因此,一旦事件过期,我希望 mysql 执行以下操作:

  • 1/ 如果该事件是重复发生的事件,则创建一个新事件并将 eventDate 日期设置为相对于在频繁字段中指定的相对于现有事件的时间长度。
  • 2/ 如果在 eventException 表中找到新事件 eventREF,则将 eventValid 设置为 0
  • 3/ 一旦事件过期,将事件复制到 eventsArchive 表
  • 4/ 从 tbl_events 表中删除过期事件

到目前为止我有这个

显然以上是不正确的,我不确定我在做什么,希望能得到一些帮助谢谢

卢克

0 投票
1 回答
11078 浏览

mysql - 如何启用 MySQL 二进制日志记录?

我尝试使用mysql-events 包的简单示例, 但是当我尝试使用它时,出现此错误:

错误:ER_NO_BINARY_LOGGING:您没有使用二进制日志记录

所以我改变了my.cnf:

但是当我尝试重新启动mysql(使用$ sudo service mysql restart)时发生了这个错误:

mysql.service 的作业失败,因为控制进程以错误代码退出。有关详细信息,请参阅“systemctl status mysql.service”和“journalctl -xe”。

这是systemctl status mysql.service

我现在应该做什么,我的问题是什么?

0 投票
0 回答
33 浏览

mysql - MySQL 事件 - 更新时间

我有一个包含 7500 多条记录的表,每天插入大约 300 条新记录。每个新记录都可以属于一个特定的合作伙伴,其中每个合作伙伴都有自己的 idpartner。

记录示例:(partner A -> idpartner: 1 / partner B -> idpartner: 2 / partnerC -> idpartner: 3)

伙伴A-123

伙伴A-567

伙伴B-999

伙伴B-123

伙伴C-123

我不能做的是每 10 分钟运行一次的事件,它将根据“-”之前的内容更新 idp​​artner。如果是合作伙伴A-,则 idpartner = 1 依此类推...

我必须每 10 分钟运行一次更新以保持更新......我做什么:

如何根据带有正则表达式的名称创建每 10 分钟更新一次表的事件?

0 投票
0 回答
156 浏览

mysql - MySQL事件每周五在特定时间更新

所以我想updatecolumn point并使它成为0 every friday at 15:00我的代码:

我得到错误:

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 4 行的 ''15:00:00' DO UPDATE people SET point = 0' 附近使用正确的语法

0 投票
0 回答
221 浏览

mysql - Mysql 事件动作自动停止执行

我创建了一个自动获取系统当前日期并将其与学年的开始和结束日期匹配的事件。如果系统当前日期在学年的开始日期和结束日期之内,则isCurrentSchoolYear使用 更新列1

我第一次这样做时效果很好。但是,当我更改 PC 上的日期以测试它是否适用于 2020 年时,什么也没有发生。event设置为每30秒运行一次。

schoolyear_mt 表

必须手动调用 setCurrentSchoolYear() 存储过程来更新 应该自动更新isCurrentSchoolYear的内容)20201

在此处输入图像描述

==================================================== =====================

enrollmentdb.setSchoolYear事件定义:

==================================================== =====================

在此处输入图像描述

==================================================== =====================

在此处输入图像描述

在此处输入图像描述

如您所见,Interval Value列显示30Time列显示63163099并继续递增。

所以问题是它不会每隔 30 秒自动更新一次列。isCurrentSchoolYear我不想手动调用名为的存储 setCurrentSchoolYear()过程来使其工作。

自动更新的问题发生在我将机器的系统日期更改为2020 年 2 月 2 日并尝试2015 年 2 月 2 日测试它是否有效之后。什么可能阻碍它每 30 秒手动执行一次?

有什么想法吗?

谢谢你。

0 投票
1 回答
219 浏览

mysql - 使用 SQL 将 blob 上传到 MySQL

我的意图是每天自动将 blob 数据上传到 MySQL/MariaDB 表字段中。我想为此使用 SQL 计划事件。但我无法整理 SQL 查询。原始文件在网络上,但即使对于我的本地机器,我也找不到查询...

当我在 phpMyAdmin 中使用“添加事件”时,我可以浏览本地机器上的文件。这是我自动生成的代码:

这不像...VALUES (NULL, "C:\data.json");,所以我有点不知所措。非常感谢任何指导/示例。

0 投票
0 回答
317 浏览

php - codeigniter mysql错误1054创建事件

我正在运行以下代码段:

它给我的错误是什么:

我在杂货杂货更新事件后的回调中,也许这会做一些时髦的事情,我不知道。

该函数将创建一个回调,whitch 将禁用帖子(状态字段设置为 0,因此它不可见),然后在事件触发时重新启用它。然后该事件将被删除后记。

0 投票
1 回答
413 浏览

php - 完成任务后立即删除 Mysql 事件

再会。我试图找到任何文档,但我没有找到任何文档,也没有找到对我实际需要执行事件并且在给定查询语句中执行事件之后必须删除事件的情况的解释。

这是事件,我把它ON COMPLETION PRESERVE作为Mysql 文档所述

消息:事件执行时间已过去,并且设置了 ON COMPLETION NOT PRESERVE。该事件在创建后立即被删除。

它在创建后立即说......这是否意味着 mysql 事件被删除而没有实际运行指定的查询?我只需要查询发生并在查询发生后立即删除该事件。

有任何想法吗?