我有两张桌子
**DB1**
users
prices
. . .
和
**DB2**
users
prices
. . .
两者都是针对不同的网站,我想要做的是将两个users
表格放在一个表格中,并且在两个网站之一中注册的任何用户也在另一个网站中签名,< / p>
我的想法是让DB3
有users
表,然后将其与DB1
和DB2
相关联,但我真的不知道该怎么做,也不知道如何做到这一点如果这是同时为两个不同网站制作单个用户表的唯一方法。
此外我还会使用,例如,如果有三个表,则查询需要与第三个表连接,如下所示
SELECT * FROM users[db3] INNER JOIN prices[db2] WHERE price > 0
如果我正在对db2
网站进行查询,或
SELECT * FROM users[db3] INNER JOIN prices[db1] WHERE price > 0
如果它位于db1
网站上,我该怎么做?
答案 0 :(得分:1)
我会在一个数据库上保留一个users
表,比如说,在DB1上。
从数据库DB2,我只会使用:
SELECT * FROM DB1.users INNER JOIN prices WHERE price > 0;
在那里看到前缀DB1.
?这样您就可以从不同的数据库访问表。
您需要确保在DB1上向DB2上的用户授予权限(SELECT,UPDATE,DELETE,INSERT)。
我强烈反对保留同一个表的多个副本。它们很容易在很短的时间内不同步,你肯定会开始遇到各种各样的问题。