我有数据库db1
和db2
,在同一服务器上的两个数据库上都有表mytable
。
两个表都包含完全相同的列。
例如:
SNo | fname | lname | Mobile | Status
两个表都有一个列名Status
当数据库 db1
的表 mytable
中的 Status
列的值更新时,我应该做什么,然后更新 列的值数据库
db2
mytable
中的状态 自动更新
我不知道它实际上叫什么。也许触发!
最佳答案
您必须在 Mysql 中创建触发器。
示例:
CREATE TRIGGER upd_check BEFORE UPDATE ON account
-> FOR EACH ROW
-> BEGIN
-> IF NEW.amount < 0 THEN
-> SET NEW.amount = 0;
-> ELSEIF NEW.amount > 100 THEN
-> SET NEW.amount = 100;
-> END IF;
-> END;
我正在使用上面的触发器来更新两个表。
看看这个 tutorial
更新
您无法在 SQL 中触发特定列的更新,它会应用于行。
您可以将列的条件放入触发器中,如下所示
DELIMITER $$
CREATE TRIGGER myTrigger AFTER UPDATE ON db1.mytable
FOR EACH ROW
BEGIN
if NEW.Status <> OLD.Status
then
update db2.mytable set Status = NEW.Status where sno = OLD.sno;
END if;
END $$
关于mysql - SQL : How to update table Automatically in 2nd database when table in 1st database is updated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740881/