首页 > 解决方案 > 将用户表连接到两个不同网站的两个不同数据库

问题描述

我有两张桌子

**DB1**
users
prices
. . . 

**DB2**
users
prices
. . .

两者都是针对不同的网站,我想要做的是使两个users表成为一个表,并且在两个网站之一中注册的任何用户也都在另一个网站上登录,

我想到的是制作一个DB3hasusers表,然后将其与DB1and链接DB2,但我真的不知道如何做到这一点,也不知道这是否是同时为两个不同网站制作单个 users 表的唯一方法。

此外,如果有三个表查询需要像这样与第三个表连接,我也会使用

SELECT * FROM users[db3] INNER JOIN prices[db2] WHERE price > 0

如果我正在对db2网站进行查询,或者

SELECT * FROM users[db3] INNER JOIN prices[db1] WHERE price > 0

如果它在db1网站上,我该怎么做?

标签: mysqlsqlpdo

解决方案


users我会在一个数据库上保留一个表,比如说在 DB1 上。

从数据库 DB2 中,我将只使用:

SELECT * FROM DB1.users INNER JOIN prices WHERE price > 0;

看到那里的前缀DB1.了吗?这样您就可以从不同的数据库访问表。

您需要确保将 DB1 上的权限(SELECT、UPDATE、DELETE、INSERT)授予 DB2 上的用户。

我强烈反对保留同一张表的多个副本。它们很快就会很容易不同步,你肯定会开始遇到各种问题。


推荐阅读