Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可通过检查日期列自动删除记录的数据库_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 可通过检查日期列自动删除记录的数据库

Php 可通过检查日期列自动删除记录的数据库,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,假设有一个数据库,其中包含一个具有日期和事件列的表,现在总共有10条记录,我希望比当前日期更早的记录应自动删除,并且当前日期记录应存在于数据库中,以便将来的记录也应存在,有没有人知道这样的事情,或者可以帮助我如何做到这一点。任何参考资料都会有帮助。我对php、phpmyadmin、sql持开放态度。任何帮助都将不胜感激。首先,它太宽泛了。你可以考虑为此而使用。您可以将其设置为每24小时运行一次,并删除小于NOW()的所有记录。激活事件支持: SET GLOBAL event_scheduler

假设有一个数据库,其中包含一个具有日期和事件列的表,现在总共有10条记录,我希望比当前日期更早的记录应自动删除,并且当前日期记录应存在于数据库中,以便将来的记录也应存在,有没有人知道这样的事情,或者可以帮助我如何做到这一点。任何参考资料都会有帮助。我对php、phpmyadmin、sql持开放态度。任何帮助都将不胜感激。

首先,它太宽泛了。你可以考虑为此而使用。您可以将其设置为每24小时运行一次,并删除小于
NOW()的所有记录。
激活事件支持:

SET GLOBAL event_scheduler = ON;
添加调度程序:

DELIMITER |
DROP EVENT IF EXISTS `clear_old_rows`|
CREATE EVENT `clear_old_rows`
    ON SCHEDULE
    EVERY 1 HOUR STARTS CURRENT_TIMESTAMP
    ON COMPLETION PRESERVE
    ENABLE
    COMMENT 'clear all rows < CURRENT_TIMESTAMP'
    DO
    BEGIN
        DELETE FROM tablename WHERE date < CURRENT_TIMESTAMP ;
    END |
DELIMITER ;
分隔符|
如果存在DROP事件“清除旧行”`|
创建事件“清除旧行”`
按时
每1小时启动一次当前\u时间戳
竣工保护区
使可能
注释“清除所有行<当前时间戳”
做
开始
从tablename中删除日期<当前时间戳;
结束|
定界符;

可能的重复项您能指出一些参考资料或教程,我可以从中了解到这一点吗?每当我试图在phpmyadmin中打开事件时,它说我需要超级权限才能做到这一点,现在如何克服这一点?当我试图激活事件时,它说我需要超级权限才能做到这一点,我得到的是谁?必须以root身份登录
mysql-u root-p'rootpass'