Задать вопрос
Ответы пользователя по тегу MySQL
  • Расширение mysql для PHP путает ссылки на соединения к разным базам одного сервера

    @korvindest
    Судя по вашему эксперименту со сменой localhost на 127.0.0.1 у вас не создается второго подключения к СУБД а возвращается ссылка на уже созданное (потому что они идентичны).
    Поэтому активной для обоих(на сам ом деле одного) подключений является последняя выбранная база.
    Думаю, если написать
    mysql_select_db('sh2', $conn2);
    mysql_select_db('sh1', $conn1);
    то все запросы пойдут к sh1.
    Вариантов решения море.
    1. Сделать для каждой базы своего пользователя (это правильно со многих сторон)
    2. Заставить СУБД слушать несколько портов и конектится к разным.
    3. Сделать несколько псевдонимов localhost и указывать разные в подключениях.

    P.S.
    Это моя гипотеза, т.к. проверить сейчас не на чем, но мне кажется что я прав.
    Ответ написан
    2 комментария
  • Сортировка сложного запроса

    @korvindest
    Вы не написали СУБД, поэтому советовать вам чуть сложнее, но может попробовать так:
    ORDER BY CASE
    WHEN color = «red» THEN 1
    WHEN color = «yellow» THEN 2
    ELSE 3 END
    Ответ написан
  • Смержить две базы данных?

    @korvindest
    Со всем уважением к вам хочу отметить, что задача мерджа, даже просто текстовых файлов, далеко не всегда возможна в автоматическом режиме. То что хотите автоматически проделать вы, на порядок сложнее, поэтому хотите вы или нет, но потрудиться головой и руками скорее всего придется.

    Могу только посоветовать пути к решению этой проблемы.
    1. Раз база настолько большая, к ней должна существовать схема. Сравнив различия двух схем можно написать SQL скрипты, которые смерджат данные. Если схемы БД не существовало, то очень рекомендую ее сделать.

    2. Можно попробовать чуть более извращенный вариант, работоспособность которого я не гарантирую. При помощи менеджера базы (любого, хоть phpMyAdmin) вылить структуру и данные в файлы. И мерджить как обычные текстовые файлы. Но откровенно говоря при больших объемах я бы от этой задачи сошел с ума.

    Удачи!
    Ответ написан
    Комментировать