Mysql
如何使用來自另一個數據庫的列值立即更新數據庫中的表?
我
database_1
和database_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;