前段时间我再csdn:http://bbs.csdn.net/topics/390571394发布了一条提问,但是他们的回复有问题,不能达到每天固定时间执行sql语句。 求大神回复提问:mysql中 "<从此时此刻起>,<每天> 在 <00:00:00>这个时刻我要<删除test表的所有数据>" 请注意我尖括号<>中的信息。求正确回复。谢谢了。mysql

解决方案 »

  1.   

    http://blog.csdn.net/acmain_chm/article/details/7703870 定时执行mysql数据库任务方案
    命题: 每日 02:00 am 定时删除 表 t (id int primary key,ptime TIMESTAMP DEFAULT CURRENT_TIMESTAMP) 中三天以前的记录。 ======================================= 方法一:操作系统 ======================================= (...
    2012
      

  2.   

    用crontab啊
    添加一行 0 0 * * * mysql -uroot -pxxxx -e "truncate table test;"
      

  3.   

    1楼的朋友中给出了两个方案:
    第一个是windows系统的命令。首先这个windows系统的事件event只能精确到秒。精确到毫秒的话不行。其次,如果配置服务器环境的时候搞忘了在运行中输入这个命令就麻烦了。所以我需要的是一条SQL语句。实现我提到的功能。
    第二个方案:这个方案用到了mysql 的EVENT,这个正是我需要.但是:
    mysql> CREATE EVENT myevent
        -> ON SCHEDULE EVERY 1 DAY STARTS '2009-10-24 02:00:00'
        -> DO
        ->  delete from t where ptime <date_sub(curdate(),interval 3 day);
    你给出的这条创建EVENT的语句。没有用,我的程序中使用的是和你一样的语句:
    create event if not exists Event_ResetFreeRoomTaskInfo on schedule every 1 day starts '2013-8-29 00:00:00' do truncate table playerfreeroomtaskstatus;
    上面这条语句并不会在每天的00:00:00删除表playerfreeroomtaskstatus中的数据.所以2楼您提供的信息对我没有任何用处。
    3楼。你这个东西我都看不懂是个什么东西:“0 0 * * * mysql -uroot -pxxxx -e "truncate table test;" ”哎  求正解啊。。
      

  4.   

    呵呵   我也刚好检查好这里,朋友,请问个问题:我前周把事件调度器打开的,状态为ON,刚才发现调度器被OFF了,,请问什么原因呢? 我没有手动OFF过事件调度器