Php 当另一个表在不同的mysql服务器上更新时,如何自动更新一个表?
假设我在不同的mysql服务器“A”和“B”上分别有两个数据库“db1”和“db2” 我想每6小时检查一次“db2”中的“table1”中是否有任何更新,然后“db1”中的“table1”将自动更新Php 当另一个表在不同的mysql服务器上更新时,如何自动更新一个表?,php,mysql,triggers,cron,sql-update,Php,Mysql,Triggers,Cron,Sql Update,假设我在不同的mysql服务器“A”和“B”上分别有两个数据库“db1”和“db2” 我想每6小时检查一次“db2”中的“table1”中是否有任何更新,然后“db1”中的“table1”将自动更新 我如何使用触发器或cron作业来实现这一点?什么时候会被触发?你可以使用cron作业,只需每分钟运行一个php文件 该文件可以在db2中的table1中检查新行,并将当前行数保存在文本文件中进行比较,如果new count>old count,则可以更新db1中的table1 轻松的 但是,正如@C
我如何使用触发器或cron作业来实现这一点?什么时候会被触发?你可以使用cron作业,只需每分钟运行一个php文件 该文件可以在db2中的table1中检查新行,并将当前行数保存在文本文件中进行比较,如果new count>old count,则可以更新db1中的table1 轻松的
但是,正如@Charles在评论中所说的,mysql复制会更好。我接受了kutF的答案,在mysql表创建中使用关键字CASCADE运行该程序之后。因此,如果更新父表,那么子表也会更新
CREATE TABLE parent
(
par_id INT NOT NULL,
PRIMARY KEY (par_id)
) TYPE = INNODB;
CREATE TABLE child
(
par_id INT NOT NULL,
child_id INT NOT NULL,
PRIMARY KEY (child_id),
FOREIGN KEY (par_id) REFERENCES parent (par_id) ON DELETE CASCADE
) TYPE = INNODB;
这种情况听起来像是MySQL复制就是你想要的……你可以看看这篇文章。有一些som客户端可以帮助您。[1] :可能的副本