MySQl 怎样给mytable创建一个触发程序,让表中的CTime时间字段 如果当前时间和记录中的时间差超过30天 则自动吧记录中的时间修改为当前时间。即:某条记录的时间为2009.02.18  而当前时间是 2009.03.19 二者 时间相差>30天了 
就把当前记录中的值修改为2009.03.19
偶这样说大家能明白保??

解决方案 »

  1.   

    触发器是针对表的,after/instead后面跟的update,insert,delete等操作,而楼主的这个要求,好像不是trigger干的事儿...所以考虑用一下作业吧,让这个作业在每天00:00分执行,至于MySQL中的作业的定义,参考下面或手册CREATE   EVENT   [IF   NOT   EXISTS]   event_name   
              ON   SCHEDULE   schedule   
              [ON   COMPLETION   [NOT]   PRESERVE]   
              [ENABLE   |   DISABLE]   
              [COMMENT   'comment']   
              DO   sql_statement;   
        
      schedule:   
              AT   timestamp   [+   INTERVAL   interval]   
          |   EVERY   interval   [STARTS   timestamp]   [ENDS   timestamp]   
        
      interval:   
              quantity   {YEAR   |   QUARTER   |   MONTH   |   DAY   |   HOUR   |   MINUTE   |   
                                  WEEK   |   SECOND   |   YEAR_MONTH   |   DAY_HOUR   |   DAY_MINUTE   |   
                                  DAY_SECOND   |   HOUR_MINUTE   |   HOUR_SECOND   |   MINUTE_SECOND}   
    你的如 CREATE   EVENT   e_totals   
     ON   SCHEDULE   EVERY 1 DAY
     DO   update ......
     .....--略  
      

  2.   

    哎... 为什么现在上CSDN上人都喜欢直接要答案,而不是要思路呢??大家都忙啊呵呵