Сведения о вопросе

FromRussia

15:31, 1st October, 2020

Теги

MySQL    

Объединить несколько результатов MySQL запроса в один

Просмотров: 374   Ответов: 9

Есть запрос с сервера А
$queryA = mysql_query("SELECT * FROM table");
и запрос с сервера B
$queryB = mysql_query("SELECT * FROM table");
Таблицы идентичны, во всем кроме данных.
Данные сервера А частично (в начале) равны данным с сервера B
Сортировка по дате.

Нужно собрать данные из двух таблиц в один mysql_fetch_array
Возможно ли это?



  Сведения об ответе

lesha

03:50, 30th September, 2020

mysql_fetch_array нужен рессурс, рессурса у вас два, в итоге ничего у вас не выйдет, array_merge вам в помошь, я думаю это единственный вариант. Хотя я могу ошибаться =)


  Сведения об ответе

appple

13:19, 29th September, 2020

  Сведения об ответе

SEEYOU

19:33, 27th September, 2020

Нда… печаль. Срочно курить нормализацию


  Сведения об ответе

VCe znayu

07:34, 30th September, 2020

Тут проблема в постановке задачи. Читать данные с другого сервера, можно используя FEDERATED engine. Но вы будите расстроены скоростью.

Можно поднять master-master репликацию в mysql. То есть каждый сервер будет себя считать слейвом :). В таком случае останеться только при проблемах перебрасывать ip. Данные будут подтягиваться автоматом.


  Сведения об ответе

ASSembler

23:38, 28th September, 2020

>> в итоге данные в момент работы резерва на него и пишутся

если я правильно понял, после того, как основной сервер поднимется, на резервном у вас остаются уникальные данные, и отсюда возникает потребность в объединении результатов?
Если это так, то у вас проблема не в объединении двух запросов, а в том, что после восстановления основного сервера первым делом необходимо синхронизировать его с резервным, и дальше работать только с основным.


  Сведения об ответе

SSESION

19:18, 26th September, 2020

Не извращайтесь. Вы пытаетесь эмулировать мастер-мастер репликацию средствами PHP.


  Сведения об ответе

SSESION

16:07, 30th September, 2020

А зачем? Что вы хотите выгадать?
Коннекта два, размер двух «фетчей» примерно равен размеру «двойного».
Да и невозможно это. Насколько я знаю — в принципе невозможно.


  Сведения об ответе

prince

08:33, 28th September, 2020

Собираете в памяти в один array иначе никак.


  Сведения об ответе

crush

06:06, 26th September, 2020

1. Никак, ёптидь. Это вам не Microsoft SQL Server с его SSIS. Сосите кеглю, вобщем.
Или вон с federated помирайте.

2. Про резервную копию, репликацию и т.д. (в комментах расширение было). У mysql есть встроенный механизм репликации и он вам скорее всего подойдёт.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться