@RaptorVRN

Как запустить межбазовый SQL запрос PHP / PDO?

Добрый день.
В инете нашел намек на межбазовый запрос, аля
SELECT t1.*, t2.* FROM database1.table1 AS t1 database2.table1 AS t2

Это миф или возможно сделать такое извращение? Решило бы большой пул задач
Не могу даже представить как это работает, ведь PDO имеет подключение к конкретной базе, а не к нескольким
  • Вопрос задан
  • 318 просмотров
Пригласить эксперта
Ответы на вопрос 4
BuriK666
@BuriK666
Компьютерный псих
PDO имеет подключение к СУБД, а в одной СУБД может быть несколько баз.
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Объясняю:
Это не "PDO имеет подключение", а пользователь БД имеет доступ.
Если указанный при подключении пользователь имеет доступ к некоторой БД, то мы можем выполнять запросы к ней.

Отсюда можно сделать вывод: Если указанный при подключении пользователь имеет доступ к обеим БД, то такой запрос никакой не извращение, а совершенно стандартный SQL.
Если же доступ есть к только одной БД, то запрос не пройдет. Опять же, не из-за своей нестандартности, а по банальной причине отсутствия доступа.

А уж чрез PDO ли мы подключаемся, или через консоль - это уже без разницы.
Ответ написан
Комментировать
@miksir
IT
То, что в MySQL называется "база данных" - это не совсем базы данных в понимании других СУБД, а не более чем схемы. Это позволяет без проблем делать запросы между ними, равно как и в других СУБД вы можете это делать между схемами. А база данных в понимании баз данных других СУБД у MySQL всегда одна, так что и подключение как бы всегда к ней.
Ответ написан
Комментировать
@goldenfill
Вся трабла заключается в том, что, как правило, разработчики тестирует работу с базами на локальном mysql сервере, где у него есть доступ ко всей структуре сервера. А когда ставим скрипты на хостинг - там другая структура безопасности. Многие хостеры добавляют пользователя к базе данных (не к СУБД) c приставкой имени базы данных типа username_dbname. Это связано с тем, что админы хостера, как правило не заморачиваются глубоко конфигурировать СУБД, а ограничиваются дефолтными возможностями phpMyAdmin. Один пользователь на одну базу данных. В результате разработчик попадает в такую вот песочницу с ограничениями. Посему, прежде чем купить хостинг настоятельно убеждайтесь, что у вас будут все необходимые возможности на хостинге.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы