Phpmyadmin 不确定mysql事件未运行的原因

Phpmyadmin 不确定mysql事件未运行的原因,phpmyadmin,mysql-event,Phpmyadmin,Mysql Event,我的网站有一个视频库,其中只应显示2周或更短时间的视频。之前,我运行的是一个简单的更新查询,每当有用户访问此页面时都会运行,如下所示: $unixtime = time(); $query = mysqli_query($cxn, "UPDATE vids SET status = 'inactive' WHERE status = 'active' AND 1209600 < ($unixtime - uploadtime)"); $unixtime=time(); $query=m

我的网站有一个视频库,其中只应显示2周或更短时间的视频。之前,我运行的是一个简单的更新查询,每当有用户访问此页面时都会运行,如下所示:

$unixtime = time();

$query = mysqli_query($cxn, "UPDATE vids SET status = 'inactive' WHERE status = 'active' AND 1209600 < ($unixtime - uploadtime)");
$unixtime=time();
$query=mysqli_query($cxn,“更新视频集状态='inactive',其中状态='active'和1209600<($unixtime-uploadtime)”);
我最近意识到了事件和存储过程,并认为只要在特定时间每24小时将此查询作为事件运行一次(并从当前找到此查询的页面中删除上面的查询),就可以节省许多查询。我使用的是phpMyAdmin v.4.1.8(共享主机)和MySQL 5.1.73(事件支持似乎从MySQL 5.1.6开始就存在了),无法让它工作!这是我的查询(由于查询不返回任何内容,我认为这是一个“事件”,尽管我知道“过程”也不需要返回任何内容):

CREATE DEFINER=`mysite`@`localhost`
事件“videodeactivate”
按计划每1天
开始“2015-02-21 10:45:00”
完成时保留启用
做
更新myschema.vids集状态='inactive'
其中status='active'
1209600<(UNIX_TIMESTAMP()-上传时间);
(注:1209600秒=2周)

更新没有发生,尽管事件已经被明确地安排好了(我认为它是这个数据库的“表”正上方的一个小红色轮廓时钟,当我单击该时钟时,该过程被标记为已启用)。我编辑了该事件以删除“myschema”(因此更新vids SET…),甚至删除了and子句。没有抛出错误,但事件似乎未运行


据我所知,在phpMyAdmin中,这个显然是“预定”的事件为什么没有运行?如果所有这些都失败了,我可以手动运行一个查询来停用这些2周以上的视频,但我希望看到这个活动起作用。

我刚从我的网络托管服务(JustHost)收到一封电子邮件。显然,根访问权限是安排事件并执行事件所必需的…还有一个理由可以主持您自己的网站:)

如果您回显上载时间,该格式是否与$unixtime相同?让我知道如何将uploadtime设置为变量是的,这里的所有时间(time(),uploadtime,UNIX_TIMESTAMP())都是INTuploadtime只是一列,带有一个INT值,表示每个视频上载时间的UNIX时间戳。您是否收到错误消息?我想知道这是否是你们的phpmyadmin版本。@Jean Gkol和Don,谢谢你们的回复。我打电话给我的托管服务,他们说MySQL错误日志中没有错误,事件应该可以正常工作。他们没有发现任何问题……我能想到的唯一可能性是,他们启用了一些服务器设置,阻止了MySQL过程和事件的执行(作为某种预防措施)。我检查了两次,查询确实从命令行成功运行,所以我猜问题一定出在托管服务端。
CREATE DEFINER=`mysite`@`localhost` 
EVENT `videodeactivate` 
ON SCHEDULE EVERY 1 DAY 
STARTS '2015-02-21 10:45:00' 
ON COMPLETION PRESERVE ENABLE 
DO 
UPDATE myschema.vids SET status = 'inactive' 
WHERE status = 'active' 
AND 1209600 < (UNIX_TIMESTAMP() - uploadtime);