Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当另一个表在不同的mysql服务器上更新时,如何自动更新一个表?_Php_Mysql_Triggers_Cron_Sql Update - Fatal编程技术网

Php 当另一个表在不同的mysql服务器上更新时,如何自动更新一个表?

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

假设我在不同的mysql服务器“A”和“B”上分别有两个数据库“db1”和“db2”

我想每6小时检查一次“db2”中的“table1”中是否有任何更新,然后“db1”中的“table1”将自动更新


我如何使用触发器或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] :可能的副本