繁体   English   中英

1个查询中的2个数据库

[英]2 databases in 1 query

我有2个eccomerce网站,它们的产品数据库几乎相同。 我想将产品表托管在单独的数据库中,以供2个电子商务站点共享。

我尝试一次连接到2个独立的数据库,但无法正常工作。

我使用plesk,在同一用户下拥有多个数据库的唯一方法是在服务器上手动设置它,但我无法弄清楚。

我理想的数据库设置是...

Site A:
shared_db (products)
db_A (orders, customers, etc...)

Site B:
shared_db (products)
db_B (orders, customers, etc...)

最好的方法是什么?

服务器:PHP 5.3,IIS7,PLESK,godaddy专用服务器。

这完全取决于您正在使用的数据库连接是否有权访问其他数据库。 如果是这样,则您可以按照以下方式简单地引用另一个数据库(跨数据库联接)(以下查询仅出于说明目的,猜测一个模式):

SELECT products.*, orders.*, customers.* FROM shared_db.products INNER JOIN db_B.orders on orders.product_id = products.id INNER JOIN db_B.customers on customers.id = orders.customer_id WHERE products.id = ?

如果您的数据库连接无权访问另一个数据库,那么您将必须发出两个查询并将其合并到应用程序层。

您正在使用哪个数据库? 如果您使用的是MSSQL,则可能需要进入主数据库并启用跨数据库权限。 默认情况下是禁用的。 您可能还需要在辅助数据库的查询中定义主数据库的完整名称。 如果您需要进一步澄清,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM