我试图将两个数据库连接到一个mysql查询中,它也很棒!
之后,我尝试在正确的数据库中查找订单数据,以便从中获取meta_value。
但它混合了meta_value $ first name,有时会在行上复制它们。
如果我只是将1个数据库统一起来,那么它们就会出现 任何人都可以看到出了什么问题?
网址示例:https:// http://kundeservice.coalsmile.com/test4.php
array([[[0, 1], [2, 3], [4, 5]]])
答案 0 :(得分:1)
如果您的连接位于同一数据库服务器上,则可以指定架构(数据库名称)以通过一个连接从两者中选择内容。您可以使用schema_name.table_name
而不是表格的名称来执行此操作。
所以喜欢:
SELECT * FROM schema_name.wpd2_posts WHERE ...
在您的情况下,您可以使用UNION
将它们放在一起:
SELECT * FROM `schema1.wpd2_posts`
where post_status='wc-processing' or post_status='wc-completed'
or post_status='wc-failed' UNION
SELECT * FROM `schema2.wpd2_posts`
where post_status='wc-processing' or post_status='wc-completed'
or post_status='wc-failed' order by post_date DESC LIMIT 10
在旁注中,您可以通过为您的标准使用IN()
子句使此查询更具可读性:
WHERE post_status IN('wc-processing', 'wc-completed','wc-failed')