两个不同服务器之间的数据库关系
Posted
技术标签:
【中文标题】两个不同服务器之间的数据库关系【英文标题】:database relation between two different server 【发布时间】:2020-01-28 07:33:22 【问题描述】:我有两台服务器,它们都包含几个表。其中许多包含关系。现在我需要加入这些表并获取数据。我不知道如何编写这种查询。目前,我在 Laravel 工作。任何建议都会对我有所帮助。
提前致谢。
【问题讨论】:
【参考方案1】:如果您想使用模型关系,您可以在模型中添加 connection
和 table
字段;
class User extends Model
public $connection = 'firstconnection';
public $table = 'users';
...
public function comments()
return $this->hasMany(Comment::class);
class Comment extends Model
public $connection = 'secondconnection';
public $table = 'comments';
...
您可以在config/database.php
中定义连接,默认连接是mysql
。
如果您编写原始查询,您可以使用完整的表路径(指定数据库):
SELECT * FROM db1.users JOIN db2.comments ON db1.users.id = db2.comments.user_id;
注意:您必须对两个表都拥有足够的权限才能连接和选择数据。如果你使用exists,has或类似ORM需要连接两个表的东西。
希望对你有帮助
【讨论】:
以上是关于两个不同服务器之间的数据库关系的主要内容,如果未能解决你的问题,请参考以下文章
两台服务器部署相同的平台系统,这两台服务器之间可能得关系是啥?