我在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页面上执行,以获取要在页面上显示的值。
如何管理这种情况?
答案 0 :(得分:1)
您必须将event_scheduler变量的状态更改为ON
。
在phpmyadmin上运行以下查询
SET GLOBAL event_scheduler = ON;
编辑::
你必须创建一个可以由Windows调度程序每天早上8点调用的php页面,然后在你的页面上你可以直接调用你的查询。您不能使用mysql事件调度程序来执行此操作。您可以使用Windows调度程序或其他一些应用程序来完成它。
答案 1 :(得分:1)
看起来你对MySQL事件或任何事件调度程序的目的有点困惑。它用于批处理处理,无法将任何结果集单独返回给客户端。
CREATE EVENT Syntax
只返回a的SELECT或SHOW等语句 结果集在事件中使用时无效;这些的输出 不会发送到MySQL监视器,也不会存储在任何地方。然而, 您可以使用SELECT ... INTO和INSERT INTO等语句... 存储结果的SELECT。 (参见本节的下一个示例 后者的一个例子。)
现在,如果您需要从php页面执行查询,请继续执行此操作。
另一方面,如果您想预先计算一些(资源密集型)结果集,您可以使用INSERT INTO ... SELECT ... FROM ...
语法和事件来执行它并将结果存储在表中。然后从php页面中获取并从该表中显示它们。