Mysql

如何使用來自另一個數據庫的列值立即更新數據庫中的表?

  • October 3, 2018

database_1database_2兩者都在同一台伺服器上。

將數據插入表中時,如何USER​​立即更新表?database_2``USER``database_1

兩個表的結構:

CREATE TABLE USER 
(
   id int
   , email varchar(256)
   , `name` varchar(1000)
   , `address` varchar(1000)
);

請幫助我完成所有步驟。

您可能可以使用觸發器來實現您的目標。

考慮以下簡化範例:

CREATE TABLE t1
(
   c1 int
   , c2 int
);

CREATE TABLE t2
(
   c1 int
   , c2 int
);

CREATE TRIGGER t1_trigger AFTER INSERT ON t1
FOR EACH ROW
BEGIN
   INSERT INTO t2 (c1, c2)
   VALUES (New.c1, New.c2);
END;

INSERT INTO t1 (c1, c2)
VALUES(1, 2);

檢查結果:

SELECT *
FROM t2;
╔═════╦════╗
║ c1 ║ c2 ║
╠═════╬════╣
║ 1 ║ 2 ║
╚═════╩════╝

我創建了一個簡單的小提琴,它顯示了工作程式碼,並允許您使用它。

上面創建了兩個表,第一個錶帶有一個觸發器,它將插入到 t1 的行複製到 t2。在上面的範例中,兩個表都在同一個數據庫中……因為您試圖從一個數據庫複製到另一個數據庫,如果兩個數據庫都在同一個 MySQL 伺服器上,則以下語法可能在觸發器中起作用:

CREATE TRIGGER t1_trigger AFTER INSERT ON t1
FOR EACH ROW
BEGIN
   INSERT INTO other_database.t2 (c1, c2)
   VALUES (New.c1, New.c2);
END;

引用自:https://dba.stackexchange.com/questions/216806