Редактировать Вы можете использовать MySQL для запроса нескольких различных баз данных одним запросом, , если все базы данных находятся на одном сервере. (Если они включены на разных серверах есть способы сделать то, что вы хотите, но вам потребуется помощь опытного администратора базы данных.)
Соединения, которые вы создаете, не относятся к базе данных, они к серверу . После подключения к серверу вы можете запрашивать несколько баз данных, если у вашего user
есть разрешение на доступ к ним.
В вашем запросе есть ошибка. Вы должны упомянуть db1.users.id
вместо db1.id
.
И вы должны использовать современный SQL с JOIN / ON. Используемый вами синтаксис запятой-соединения устарел уже почти три десятилетия. Попробуйте это.
SELECT u.username, p.post_id
FROM db1.users u
JOIN db2.posts p ON p.user_id = u.id
При отладке такого рода вещей вы должны рассмотреть возможность использования console.error()
немного больше. Как то так для обработки ошибок?
connection.query(query, function (error, results, fields) {
if (error) {
console.error (query, error);
return next(error); // if you're in node/express
throw (error); // if you're not in node/express
}
res.send(results);
});