У меня есть две базы данных на одном сервере. Google дал мне несколько намеков, но не было ничего "официального", которого я мог найти. Может ли кто-нибудь указать мне на документацию, которая объясняет, как это сделать? Объяснение с использованием PHP также было бы полезно. Спасибо!
Как создать кросс-запрос базы данных в MySQL?
Ответ 1
У меня есть две базы данных на одном сервере.... Как построить запрос кросс-базы данных в MySQL?
Вы получаете доступ к другим базам данных в одном экземпляре MySQL, префикс таблицы с соответствующим именем базы данных. IE:
SELECT *
FROM this_database.table_1 t1
JOIN that_database.table_2 t2 ON t2.column = t1.column
Имейте в виду
Выполняется запрос с учетными данными аутентификации, используемой для настройки подключение. Если вы хотите запросить две таблицы одновременно через два (или более) базы данных, пользователю, используемому для запуска запроса, потребуется доступ к SELECT для всех используемых баз данных.
Справка:
Ответ 2
SELECT * FROM DB1.myTable1 AS db1, DB2.myTable2 AS db2
Ответ 3
http://www.dottedidesign.com/node/14 предоставляет следующий пример:
SELECT
arbogast.node.nid as anid,
mcguffin.node.nid as mnid,
arbogast.node.title as atitle,
mcguffin.node.title as mtitle
FROM arbogast.node, mcguffin.node
WHERE arbogast.node.nid = 1
AND mcguffin.node.nid = arbogast.node.nid;
Где arbogast
и mcguffin
- разные базы данных.