可以使用 MySQL 的触发器 (Trigger) 来实现定时同步两个表。

步骤如下:

  1. 创建一个触发器,在指定的时间点触发同步操作。

例如,每天凌晨 1 点同步两个表,创建一个触发器:

CREATE TRIGGER sync_tables
AFTER INSERT ON table1
FOR EACH ROW
BEGIN
  DECLARE cur_time TIME;
  SET cur_time = CURRENT_TIME();
  IF cur_time = '01:00:00' THEN
    INSERT INTO table2 (column1, column2, ...)
    VALUES (NEW.column1, NEW.column2, ...);
  END IF;
END;
  1. 修改触发器以支持双向同步。可以使用 INSERT、UPDATE 和 DELETE 语句来同步两个表。

例如,当 table1 中的行发生变化时,同时更新 table2 中对应的行:

CREATE TRIGGER sync_tables
AFTER INSERT ON table1
FOR EACH ROW
BEGIN
  UPDATE table2
  SET column1 = NEW.column1, column2 = NEW.column2, ...
  WHERE id = NEW.id;
END;
  1. 设置定时任务,在指定的时间点执行同步操作。

例如,在 Linux 系统中,可以使用 cron 来设置定时任务:

0 1 * * * /usr/bin/mysql -u username -p password -h hostname -e "USE database; CALL sync_tables;"

这将在每天凌晨 1 点执行一次同步操作。

MySQL 定时同步两个表 - 使用触发器实现

原文地址: https://www.cveoy.top/t/topic/oCpE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录