mysql用触发器同步表


一、先复制表 :

create table tytj select * from tongji where user=0 and DATE = '2016-09-26' or DATE = '2016-09-27';  

二、创建插入数据时的【触发器】  在phpmyadmin 运行时记得要修改语句定界符为 $

CREATE TRIGGER t_afterinsert_on_tongji
AFTER INSERT ON tongji
FOR EACH ROW
BEGIN
     insert into tytj(id,time,uid,user,channel,date) values(new.id,new.time,new.uid,new.user,new.channel,new.date);
     delete from tytj where user=1;
END$

三、创建删除数据时的【触发器】

CREATE TRIGGER t_afterdelete_on_tongji
AFTER DELETE ON tongji
FOR EACH ROW
BEGIN
      delete from tytj where id=old.id;
END$

四、创建【事件】,删除两天前的数据:  每天运行 ,开始时间是 : '2016-09-30 08:00:00'  没有结束时间

CREATE EVENT event_delete_table_daily
ON SCHEDULE EVERY 1 DAY 
STARTS  '2016-09-30 08:00:00'   
ENABLE
DO
BEGIN
delete from tytj where date < DATE_SUB(CURDATE(),INTERVAL 2 DAY);
END$

增加触发器时 成功添加之后 mysql出错了:  超过连接数

 很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,

造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;  //可惜 我遇见的可能是这一种

另一种原因就是MySQL配置文件中max_connections值过小。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM