加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL触发器的应用案例 - MySQL教程

发布时间:2014-03-20 00:07:48 所属栏目:MySql教程 来源:站长网
导读:网友问题:对于MySQL主从复制结构中,如何让Slave过滤delete操作。 问题分析:该问题对应的是保全所有的记录,包括delete的记录。 对于MySQL本身的过滤规则粒度
网友问题:对于MySQL主从复制结构中,如何让Slave过滤delete操作。

问题分析:该问题对应的是保全所有的记录,包括delete的记录。

对于MySQL本身的过滤规则粒度是精确到表的粒度。

主从可以由不同的触发器

问题结果,在slave上建立before触发器,对于delete的记录备份至另一个表。

存在问题,MySQL触发器在高并发下的性能问题。

触发器源代码:

    CREATE TRIGGER delbak BEFORE DELETE ON tb_name
    FOR EACH ROW BEGIN
    INSERT INTO tb_name_bak SELECT * FROM tb_name where id=old.id;
    END

一般where后面跟的字段是唯一标识字段(主码),如果用可重复字段会发生在删除一条记录的时候就在备份表中插入多条记录的问题!

old表示一种状态,删除动作执行之前的表称OLD表,删除动作执行之后的表称NEW表

本文出自 “技术成就梦想” 博客,请务必保留此出处http://weipengfei.blog.51cto.com/1511707/1136830

查看本栏目更多精彩内容:http://www.bianceng.cn/database/MySQL/

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!