我需要每24小时运行一次:
delete tags from tags left join tagowners on tags.id=tagowners.tagId
where tagowners.tagId is null;
答案 0 :(得分:15)
CREATE EVENT cleartags
ON SCHEDULE EVERY 24 HOUR
DO
delete tags from tags left join tagowners on tags.id=tagowners.tagId
where tagowners.tagId is null;
答案 1 :(得分:4)
首先在SQl查询浏览器中执行此操作
SET GLOBAL event_scheduler = ON;
然后执行这个。它将在凌晨12:00每24小时触发一次
CREATE EVENT event1 ON SCHEDULE EVERY '1' DAY STARTS '2013-01-21 00:00:00' DO delete tags from tags left join tagowners on tags.id=tagowners.tagId where tagowners.tagId is null;
答案 2 :(得分:0)
在Linux系统上运行?使用cron
。我认为MySQL没有内置功能来实现这一目标。
答案 3 :(得分:0)
使用cron:
mysql -uUSER -pPWD -hDB-HOSTNAME/IPADDRESS -e "delete tags from tags left join tagowners on tags.id=tagowners.tagId where tagowners.tagId is null;"
答案 4 :(得分:0)
如果你在linux服务器上,你可以创建一个cronjob,一个计划任务,通过php可执行文件执行php脚本。创建一个cron任务很简单,通过shell执行'crontab -e',然后将命令添加到文件的底部。
取自http://mkaz.com/ref/unix_cron.html
的cron条目示例#Run command at 7:00am each weekday [mon-fri]
00 07 * * 1-5 mail_pager.script 'Wake Up'
#Run command on 1st of each month, at 5:30pm
30 17 1 * * pay_rent.script
#Run command at 8:00am,10:00am and 2:00pm every day
00 8,10,14 * * * do_something.script
#Run command every 5 minutes during market hours
*/5 6-13 * * mon-fri get_stock_quote.script
#Run command every 3-hours while awake
0 7-23/3 * * * drink_water.script
如果你想每天执行一次php脚本......
0 0 * * * /path/to/php.exe myscript.php
请记住,您正在通过CLI执行脚本,因此$_GET
/ $_POST
/ $_SERVER
超级全局变量将不存在(您可以使用wget解决此问题)
如果您在Windows上,则可以使用Windows任务计划程序来完成相同的操作。