欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 跨庫表同步數據同步

方一強2年前8瀏覽0評論

在數據庫應用中,我們經常需要在不同的庫之間同步數據。特別是在多個業務系統的情況下,不同的系統會使用不同的數據庫,但往往需要對共享的數據進行操作,此時就需要跨庫表同步數據。

在MySQL中,跨庫表同步數據可以使用多種方式,本文主要介紹兩種:使用存儲過程和使用觸發器。

使用存儲過程

CREATE PROCEDURE `sync_data`()
BEGIN
DECLARE v_id INT;
DECLARE v_name VARCHAR(50);
DECLARE v_email VARCHAR(50);
-- 遠程數據庫連接信息
SET @remote_host = '192.168.1.100';
SET @remote_db = 'remote_db';
SET @remote_user = 'root';
SET @remote_password = '123456';
DECLARE remote_cur CURSOR FOR 
SELECT id, name, email FROM remote_db.users;
OPEN remote_cur;
remote_loop:LOOP
FETCH remote_cur INTO v_id, v_name, v_email;
IF v_id IS NULL THEN 
LEAVE remote_loop;
END IF;
-- 插入本地數據庫
INSERT INTO local_db.users(id, name, email) VALUES(v_id, v_name, v_email);
END LOOP;
CLOSE remote_cur;
END;

使用觸發器

CREATE TRIGGER sync_data AFTER INSERT ON remote_db.users
FOR EACH ROW
BEGIN
-- 插入本地數據庫
INSERT INTO local_db.users(id, name, email) VALUES(NEW.id, NEW.name, NEW.email);
END;

以上是兩種常見的方式,適用于不同的場景和需求。其中,使用存儲過程可以對跨庫表的數據進行更詳盡的處理和篩選,而使用觸發器可以使數據同步更加實時、無縫。