Возможно ли реализовать JOIN-запросы с 2 базами данных MySQL? - PullRequest
2 голосов
/ 09 августа 2011

Я работаю в Moodle и CodeIgnitor вместе в одном проекте;некоторые из моих таблиц находятся в базе данных moodle, а другие таблицы находятся в другой базе данных.

Можно ли реализовать запросы JOIN с двумя базами данных Mysql для получения данных, которые нам нужны?

Ответы [ 3 ]

2 голосов
/ 09 августа 2011

ДА

  • обе базы данных используют один и тот же демон (имеется в виду один и тот же порт, один и тот же сервер)
  • учетная запись пользователя имеет достаточно ACL для доступа к обеим базам данных
  • , если вы можете создать запрос самостоятельно

NO

  • определенные рамки / моделирование данныхограничить вас в этом (это означает, что CODE учит вас, как делать SQL, и вы не можете противостоять их правилам (если только не взламываете)
1 голос
/ 09 августа 2011

Да.

Если БД находятся на одном и том же сервере, вы можете использовать

select a.col from db1.table1 a, db2.table2 b where a.col = b.col 

Очевидно, вы бы поставили здесь условие соединения.

0 голосов
/ 09 августа 2011

Да.

Вместо использования базы данных «по умолчанию» (выбранной в данный момент), вы можете явно указать имя базы данных , когда ссылаетесь на свои таблицы и поля:

Вы можете ссылаться на таблицу в базе данных по умолчанию как tbl_name, или как db_name.tbl_name для явного указания базы данных. Вы можете обратиться к столбец как col_name, tbl_name.col_name или db_name.tbl_name.col_name

Однако я не рекомендую это. Если данные связаны между таблицами, то они должны находиться в той же базе данных . Вот что имеет смысл!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...