0

似乎是一个微不足道的问题,但对我不起作用。我需要从 db A (news) 获取数据并对照 db B (news-backup) 进行检查。它们位于同一个地方,不需要身份验证(至少我认为)。error 1146, table "news.news" doesnt exist.当我尝试使用第二个访问数据库时,它给了我一个

SELECT B.`comment`
FROM news A, `news-backup`.`data` B
WHERE B.source = A.rss_atom.id and B.feed = "rss-atom"

rss_atom并且data是表格

4

3 回答 3

2

您需要在 FROM 子句中指定数据库名称和表,试试这个:

SELECT B.comment
FROM news.rss_atom A, news-backup.data B
WHERE B.source = A.id AND B.feed="rss-atom"

我希望我的表结构正确。

于 2012-12-10T15:37:22.670 回答
1

它们位于不同的数据库中,因此除非您使用use database A(或 B)指定更改,否则您无法看到所有对象。此外,您可以尝试将数据库名称设置为您正在查询的表的前缀,如果数据库可以通过相同的连接使用并且连接的用户被授予足够的权限来查询两个数据库上的表。

这个答案可能会有所帮助。如何在一个网页上连接多个 MySQL 数据库?

于 2012-12-10T15:36:42.700 回答
1
SELECT B.`comment`
FROM `news`.`rss_atom` A, `news-backup`.`data` B
WHERE B.source = A.rss_atom.id and B.feed = "rss-atom"

猜测一下,如果您使用的是新闻数据库,那么

SELECT B.`comment`
FROM `rss_atom` A, `news-backup`.`data` B
WHERE B.source = A.rss_atom.id and B.feed = "rss-atom"

新闻数据库中没有表格新闻是一个不错的线索。

于 2012-12-10T15:39:07.053 回答