Heim  >  Artikel  >  Datenbank  >  MySQL 触发器应用案例

MySQL 触发器应用案例

WBOY
WBOYOriginal
2016-06-07 17:27:081086Durchsuche

对于MySQL主从复制结构中,如何让Slave过滤delete操作。该问题对应的是保全所有的记录,包括delete的记录。

网友问题:对于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表

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn