创建TRIGGER触发器实现 相同服务器下不同库的表数据同步

创建TRIGGER触发器实现相同服务器下不同库的表数据同步(同库双表也可以)

首先建立两个库并创建两个表,一个备份库用于原始库,用于存储数据,一个备份库用于同步数据。
操作截图

我们在subject库中的sj_category中创建触发器:
开始建立触发器同步数据
-- 插入操作

DELIMITER $
CREATE TRIGGER insert_category AFTER INSERT ON sj_category FOR EACH ROW
BEGIN
    -- 插入目标表
    INSERT INTO
      shop.sj_category (name,pid,icon,status,create_time,update_time)
    VALUES
      (new.name, new.pid,new.ico,new.staut,new.create_time,new.update_time);
END;
$
DELIMITER;

-- 删除操作
DELIMITER $
CREATE TRIGGER tr_del_sj_category AFTER DELETE ON sj_category FOR EACH ROW 
BEGIN
  -- INSE
  DELETE FROM shop.sj_category WHERE id = old.id;
END
$
DELIMITER ;
COMMIT;

-- 更新操作

DELIMITER $
CREATE TRIGGER update_category AFTER UPDATE ON sj_category FOR EACH ROW
BEGIN
  UPDATE shop.sj_category
    SET username = new.username,pwd = new.pwd
  WHERE id = new.id;
END
$
DELIMITER;

这样我们就完成了,接下来进行测试一下,在subject库中的sj_category中插入、更新、删除数据并同步到shop库中的sj_category表中。

还有更简单的,触发器的管理可以使用navicat来管理,在设计表里面
我们在subject库中的sj_category设计表中可以看到触发器一项
操作截图

添加新评论