【问题标题】:mysql event schedular to schedule event every day 8ammysql事件调度程序每天早上8点安排事件
【发布时间】:2014-01-08 21:16:48
【问题描述】:

我检查了我的 phpmyadmin 上的事件调度程序已关闭。我的网站已经上线,我不知道制作事件调度器on 会产生什么不好的影响?

我想创建应该每天早上执行的事件,从表中获取一些值并显示在页面上。

CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 8:00:00' DO BEGIN

END

我想在事件内部执行的查询是:

SELECT url,sentiment, count(url) from userpost where userid='".$userid."' group by url order by count(url) desc;

我很困惑。

事件将在 phpmyadmin 上创建。应在 php 页面上执行查询以获取要在页面上显示的值。

如何管理这种情况?

【问题讨论】:

  • 我没有深入阅读这个主题,但是我不明白为什么如果它是on 会有任何副作用;如果有的话,它只会查找您创建的事件并运行它。您也可以取消该事件。然而,我不太明白你到底在问什么。您发布了活动时间表的代码,但目前设置为off。你能详细说明一下吗?
  • @Fred-ii-:谢谢老兄。实际上我正在探索mysql event shedular。只是想确保就地使用它不会对其他现有的数据库系统产生负面影响
  • 您的问题与phpMyAdmin 无关,phpMyAdmin 是一个客户端工具,没有 phpmyadmin server 之类的东西。有 MySQL 服务器。因此,请适当地重新标记您的问题。
  • @peterm:谢谢。我会更新

标签: php mysql sql events scheduler


【解决方案1】:

看起来您对 MySQL 事件或任何事件调度程序的目的有点困惑。它用于批处理处理,无法自行将任何结果集返回给客户端。

CREATE EVENT Syntax
SELECT 或 SHOW 之类的语句仅返回一个 结果集在事件中使用时无效;这些的输出 不会发送到 MySQL Monitor,也不会存储在任何地方。然而, 您可以使用诸如 SELECT ... INTO 和 INSERT INTO ... 之类的语句 SELECT 存储结果。 (请参阅本节中的下一个示例 后者的一个实例。)

现在,如果您需要从 php 页面执行查询,请继续执行此操作。

另一方面,如果你想预先计算一些结果集,这是资源密集型的,你可以使用INSERT INTO ... SELECT ... FROM ... 语法和一个事件来执行它并将结果存储在一个表中。然后从 php 页面中获取并从该表中呈现它们。

【讨论】:

  • 谢谢。我浏览了链接。您说“这并不意味着返回任何结果集”。我很抱歉,但如果是这种情况,那么“基于小时或基于每日”的记录如何显示在页面上?我认为这是仅在数据库上使用事件调度来完成的
  • @petern:选择和插入我总是可以做到的。但是如果我想每小时获取几个参数(按时间更新)并在页面上显示它们怎么办..
  • “按小时或按天”记录在页面上的显示方式 这取决于您的页面是如何开发的。你可以执行你的查询并用结果呈现你的页面,你可能有一个从你的页面到某个 RESTfull 服务的 AJAX 调用,它可以在 php 中实现,它执行查询并返回结果(例如,以 JSON 格式)并呈现它们...
  • @petern: "RESTfull services" 喜欢吗?
  • “RESTfull services”之类的?对于初学者,您可以阅读How to build a secure and RESTful service in PHP?
【解决方案2】:

您必须将event_scheduler 变量的状态更改为ON

在 phpmyadmin 上运行以下查询

SET GLOBAL event_scheduler = ON;

编辑::

您必须创建一个 php 页面,该页面可以由 windows scheduler 每天早上 8 点调用,然后在您的页面上您可以直接调用您的查询。您不能使用 mysql 事件调度程序来执行此操作。您可以使用 Windows 调度程序或其他一些应用程序来完成。

【讨论】:

  • 没关系,我知道。我的问题是如何使用上述事件,以便我无法每天早上从数据库中获取记录并在我的页面上显示它们。我对需要执行的逐步行动感到困惑
  • 谢谢,我正在寻找类似的东西,你能参考任何例子吗?
猜你喜欢
  • 1970-01-01
  • 2011-03-05
  • 2019-01-20
  • 2013-01-30
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多