我有 2 个框架(Laravel - Web,Codeigniter - API)和 2 个不同的数据库。我已经构建了一个函数(在 API 上),它可以检测一个数据库(来自 2 个表)的更改并将更改应用到另一个数据库中。
注意:无法在同一个数据库上同时运行 Web 和 API - 这就是我这样做的原因。
无论如何,重要的是每一个微小的变化都会被识别。如果情况是新记录或删除记录 - 很简单,完全没有问题。但是,如果两个数据库中都存在记录 - 我需要比较它们的值以检测更改,这部分就变得具有挑战性。
我知道如何以最慢、最繁重的方式做到这一点(选择每条记录并进行比较)。
我的问题是 - 您建议如何让它以智能且快速的方式工作?
非常感谢。
最佳答案
只要 mysql 用户对两个数据库都具有选择权限,您就可以在查询中限定数据库,如下所示:
SELECT * FROM `db1`.`table1`;
SELECT * FROM `db2`.`table1`;
连接到 PHP 时选择哪个数据库并不重要。查询中将使用正确的数据库。
当数据库/表名称仅为字母数字而不是 SQL 关键字时,勾号是可选的。
关于PHP/MySQL - 比较 2 个不同数据库中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39609986/