场景:
需要同步两个不同系统的user表的积分字段,但是系统逻辑又超级复杂,实在不能在系统程序上面统一用接口去同步了。
1.创建数据a和数据库b,
2.在两个库中分别插入下表
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL,
`integral` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
3.在数据库a中添加同步积分触发器
delimiter ||
DROP TRIGGER
IF EXISTS t_update_member||
CREATE TRIGGER t_update_member AFTER UPDATE ON a.users FOR EACH ROW
BEGIN
IF @disable_trigger IS NULL THEN
SET @disable_trigger = 1;
UPDATE b.users SET
`integral`=new.`integral`
WHERE
`id`= OLD.`id` ;
SET @disable_trigger = NULL;
END IF;