2.列出每一个字段是可以的,但是写起来比较麻烦,要这样:
insert into ct_master1 value (new.c1,new.c2,new.c3)
简洁的方法,就是插入的时候设定一个唯一性的值,比如id
然后就可以把insert改成:
insert into ct_master1 select * from ct_master where ct_master.id=NEW.id
这样就可以了。
mysql要实现定时执行sql语句就要用到Event具体操作如下:
先看看看event 事件是否开启
show variables like '%sche%'
如没开启,则开启。需要数据库超级权限
set global event_scheduler =1
创建存储过程 update_a (注:就是你要执行的sql语句)
mysql>create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id)
创建一个定时任务:event e_updateA
mysql>create event if not exists e_updateA
->on schedule every 60 second ---设置60秒执行一次
->on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行
->on completion preserve
->do call update_a() ---执行update_a()存储过程
创建Event之后,sql语句就定时执行一次。
关闭事件任务
mysql>alter event e_updateA ON
->COMPLETION PRESERVE DISABLE
开启事件任务
mysql>alter event e_updateA ON
->COMPLETION PRESERVE ENABLE
如还有问题再联系我
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)