Урок 18. MySQL. Объединение таблиц в MySQL

Содержание материала:

SQL — Урок 7. Объединение таблиц (внешнее объединение)

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

То есть в результирующей таблице есть только те пользователи, которые создавали темы. А нам надо, чтобы выводились все имена. Для этого мы немного изменим запрос:

И получим желаемый результат — все пользователи и темы, ими созданные. Если пользователь не создавал тему, но в соответствующем столбце стоит значение NULL.

Итак, мы добавили в наш запрос ключевое слово — LEFT OUTER JOIN, указав тем самым, что из таблицы слева надо взять все строки, и поменяли ключевое слово WHERE на ON. Кроме ключевого слова LEFT OUTER JOIN может быть использовано ключевое слово RIGHT OUTER JOIN. Тогда будут выбираться все строки из правой таблицы и имеющиеся связанные с ними из левой таблицы. И наконец, возможно полное внешнее объединение, которое извлечет все строки из обеих таблиц и свяжет между собой те, которые могут быть связаны. Ключевое слово для полного внешнего объединения — FULL OUTER JOIN.

Давайте поменяем в нашем запросе левостороннее объединение на правостороннее:

Как видите, теперь у нас есть все темы (все строки из правой таблицы), а вот пользователи только те, которые темы создавали (т.е. из левой таблицы выбираются только те строки, которые связаны с правой таблицей).

К сожалению полное объединение СУБД MySQL не поддерживает.

Подведем итог этого короткого урока. Синтаксис для внешнего объединения следующий:

где ТИП ОБЪЕДИНЕНИЯ — либо LEFT OUTER JOIN, либо RIGHT OUTER JOIN

Видеоуроки php + mysql

Если этот сайт оказался вам полезен, пожалуйста, посмотрите другие наши статьи и разделы.

MySQL: Создание таблицы (Create Table)

​Таблицы создание команды требует: Имя таблицы, Имена полей, Определений для каждого поля. Вот универсальный синтаксис SQL для создания таблиц MySQL:

Таблицы создание команды требует:

  • Имя таблицы
  • Имена полей
  • Определений для каждого поля

Вот универсальный синтаксис SQL для создания таблиц MySQL:

Теперь, мы создадим следующую таблицу в учебники базы данных.

Вот несколько пунктов, которые нуждаются в пояснении:

  • Поле атрибута не равно NULL , используется потому что мы не хотим, чтобы она была нулем. Поэтому если пользователь попытается создать запись со значением NULL, то MySQL будет вызвана ошибка.
  • Поле атрибута auto_increment в MySQL не говорит, чтобы идти вперед и добавить следующий доступный номер в поле ID.
  • Ключевое слово первичный ключ используется для определения столбца в качестве первичного ключа. Вы можете использовать несколько столбцов, разделенных запятыми, чтобы определить первичный ключ.

Создание таблиц из командной строки:

Это легко создать MySQL таблицу из MySQL> подсказка. Вы будете использовать команды SQL создать таблицу чтобы создать таблицу.

Пример:

Вот пример, который создает tutorials_tbl:

Создание таблиц с помощью PHP скрипта:

Чтобы создать новую таблицу в любой существующей базы данных необходимо использовать функции PHP функции mysql_query(). Вы будете проходить свой второй аргумент при правильной команды SQL для создания таблицы.

Пример:

Вот пример создания таблицы с помощью PHP скрипта:

Объединение таблиц в MySql. JOIN

По возможности стараюсь не использовать join-ы из-за медленной их работы. Перекрестные и вложенные запросы отрабатывают быстрее и, на мой взгляд, читабельней. Но бывают ситуации, когда без join-ов не обойтись. Оставляю на заметку.

Задача: есть интернет-магазин с товарами. Структура таблиц:
goods: id, good, price — сами товары
goods_description: id, good_id, description — описания товаров
goods_discount: id, good_id, discount_price — скидки на товары

Причин, по которым мы выделяем описания и скидки в отдельные товары, может быть много. Чаще всего к этому приходим в процессе нормализации, когда по максимуму избавляемся от избыточности данных и когда не хотим хранить лишние пустые строки в таблице товаров. В общем, нам нужно получить сводную таблицу — список товаров с описаниями и скидками, если они есть. Обычными перекрестными запросами здесь не обойтись, потому что в таблицах описаний и скидок, могут быть далеко не все id товаров. Вот здесь нам и поможет join. Для начала создадим таблицы и заполним их тестовыми данными:

Структура таблиц:

Тестовые данные:

А теперь сам запрос:

Этот запрос выведет таблицу, у которой в недостающих полях будут null-ы. Если мы хотим получить записи, данные для которых есть во всех трех таблицах, то нужно использовать inner join (просто замените left на inner в запросе и увидите разницу). Оператор right join выполняет присоединение таблиц «справа налево». Чтобы понять разницу, просто замените left на right и по результатам станет понятно, в чем их отличие.

Таким образом, мы увидели, что перекрестным запросом можно заменить только оператор inner join.

Топ-пост этого месяца:  Философия BEM CSS подход к структурированию пользовательских интерфейсов

MySQL немного о JOIN’ах

JOIN, в переводе на великий и могучий, означает «объединять», то есть собирать из нескольких кусочков единое целое. В базе данных MySQL такими «кусочками» служат столбцы таблиц, которые можно объединять при выборке.

Объединения позволяют извлекать данные из нескольких таблиц без создания временных таблиц и за один запрос.

Таблицы «товары» и «описания»

Таблица с наименованием товаров (я назову её nomenclature ), будет хранить номер товара ( id ) и краткое название ( name ).

Содержание таблицы с описанием товаров (пусть будет description ):

Исходные данные определены, дабавлю ещё Несколько слов о структуре базы. Таблица nomenclature содержит перечень всех товаров, которые есть в базе. Таблица описаний description , напротив, содержит лишь неполный перечень описаний для товаров, которые необязательно присутсвуют в базе. Чтобы однозначно привязать описание к товару, в таблицах присутвует столбец id , который содержит уникальный номер товара. В обеих таблицах id является первичным ключём, что соотвествует связи один-к-одному.

Выборка

Таблицы определены и заполнены, настало время делать выборку. Но если приглядеться к данным, которые находятся в таблицах, то можно заметить, что они не в полной мере соответствуют друг другу. Так в таблице nomenclature присутсвует товар под номером 2 (Табуретка), для которого нет описания. И в таблице description присутсвует описание для товара номер 5 (Зелёная машинка), которого нет в таблице номенклатур .

В зависимости от требований к результату, MySQL позволяет производить три разных типа объединения:

  1. INNER JOIN ( CROSS JOIN ) — внутреннее (перекрёстное) объединение
  2. LEFT JOIN — левостороннее внешнее объединение
  3. RIGHT JOIN — правостороннее внешнее объединение

INNER JOIN (CROSS JOIN) — внутреннее (перекрёстное) объединение

Этот тип объединения позволяет извлекать строки, которые обязательно присутсвуют во всех объединяемых таблицах.

В простейшем случае (без указания условий отбора), выборка вернёт т.н. декартово произведение, в котором каждая строка одной таблицы будет сопоставлена с каждой строкой другой таблицы:

Как правило, декартово произведение таблиц требуется нечасто, чаще требуется выбрать только те записи, которые сопоставлены друг другу. Сделать это можно, если задать условие отбора, используя ON или USING .

Запрос вернул только две записи, поскольку именно столько строк имеют одинаковые идентификаторы в обеих таблицах.

Использование USING обусловлено тем, что в таблицах ключевой столбец имеет одно и тоже имя — id . В противном случае, надо было бы использовать ON .

Помимо конструкции INNER JOIN внутреннее объединение можно объявить так же через CROSS JOIN , JOIN и запятую в объявлении FROM . Следующие четыре запроса вернут одинаковый результат:

Если объединять таблицы через запятую, то нельзя использовать конструкции ON и USING , поэтому условие может быть задано только в конструкции WHERE . Например, это может выглядеть так:

Поскольку поле id не является однозначным, приходится доуточнять в каком контексте оно используется через указание имени таблицы.

И так, внутреннее объединение можно задать следующими способами:

Результатом будет декартово произведение всех таблиц, на которое можно накладывать условия выборки, используя ON , USING и WHERE .

LEFT JOIN — Левостороннее внешнее объединенея

Левосторонние объединения позволяют извлекать данные из таблицы, дополняя их по возможности данными из другой таблицы.

К примеру, чтобы получить полный список наименований товаров вместе с их описанием, нужно выполнить следующий запрос:

Поскольку для наименования Табуретка в таблице описаний нет подходящей записи, то в поле description подставился NULL . Это справедливо для всех записей, у которых нет подходящей пары.

Если дополнить предыдущий запрос условием на проверку несуществования описания, то можно получить список записей, которые не имеют пары в таблице описаний:

По сути это и есть основное назначение внешних запросов — показывать расхождение данных двух таблиц.

Кроме того, при таком объединении обязательным является условие, которое задаётся через ON или USING . Без него запрос будет выдавать ошибку.

RIGHT JOIN — Правостороннее внешнее объединение

Этот вид объединений практически ничем не отличается от левостороннего объединения, за тем исключением, что данные берутся из второй таблицы, которая находится справа от констркуции JOIN , и сравниваются с данными, которые находятся в таблице, указанной перед конструкцией.

Как видно, теперь уже поле name содержит нулевые значения. Также поменялся и порядок расположения столбцов.

Однако, во всех случаях использования правосторонних объединений, запрос можно переписать, используя левостороннее объединение, просто поменяв таблицы местами, и наоборот. Следующие два запроса равнозначны:

Многотабличные запросы

Испольузя JOIN, можно объединять не только две таблицы, как было описано выше, но и гораздо больше. В MySQL 5.0 на сегодняшний день можно объединить вплоть до 61 таблицы. Помимо объединений разных таблиц, MySQL позволяет объединять таблицу саму с собой. Однако, в любом случае необходимо следить за именами столбцов и таблиц, если они будут неоднозначны, то запрос не будет выполнен.

Так, если таблицу просто объединить саму на себя, то возникнет конфликт имён и запрос не выполнится.

Обойти конфликт имён позволяет использование синонимов ( alias ) для имён таблиц и столбцов. В следующем примере внутреннее объединение будет работать успешнее:

MySQL не накладывает ограничений на использование разных типов объединений в одном запросе, поэтому можно формировать довольно сложные конструкции:

Помимо выборок использовать объединения можно также и в запросах UPDATE и DELETE

Так, следующие три запроса проделывают одинаковую работу:

Таким же образом работают и многтабличные удаления

Следует помнить, что при использовании многотабличных запросов на удаление или обновление данных, нельзя включать в запрос конструкции ORDER BY и LIMIT . Впрочем, это ограничение очень эффективно обходится при помощи временных таблиц, просто, надо это учитывать при модификации однотабличных запросов.

Примеры использования многотабличных запросов

Приведу несколько примеров из своей практики, которые реально используются.

В данном случае идёт выборка первых 58 клиентов из таблицы договоров с привязкой баланса на текущий день, у которых в имени договора содержится «123» и сортировкой по имени (номеру) договора. Поскольку список договоров может не совпадать со списком балансов, то используется левостороннее объединение. Помимо этого используется SQL_CALC_FOUND_ROWS для подсчёта общего количества найденных строк, чтобы организовать страничную навигацию.

Данный запрос выводит список платежей с указанием типа платежа и номера договора с сортировкой по дате и номеру договора. Так же предустморен постраничный вывод списка.

В этом примере используется одно внутреннее объединение для привязки ip-адресов к договорам, и три внешних левосторонних для получения дополнительной информации. Несмотря на внушительный размер, запрос выполняется достаточно быстро, поскольку объединения идут по первичным ключам. Так, как результатом должен быть список из договоров и привязанных к ним ip-адресов, то используется внутреннее объединение.

Топ-пост этого месяца:  Исключение рубрики из главной страницы

Использовать более экзотические конструкции на практике приходится нечасто, поскольку с ростом количества объединяемых таблиц резко падает производительность запросов. Сложные задачи, которые требуют серьёзных вычислений, такие, как, например, подсчёт баллансов всех клиентов, решаются с помощью временных таблиц и довольно простых запросов.

К чему всё это?

Данное описание лишь первый шаг в подготовке к сдаче второго экзамена для получения сертификата MySQL Developer.

Статья родилась по мотивам 12 главы «MySQL 5.0 Certification Study Guide», хотя и не является её точным или полным переводом.

© 2020 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Система управления базами данных SQLite. Изучаем язык запросов SQL и реляционные базы данных на примере библиотекой SQLite3. Курс для начинающих.

Часть 12.14: Объединение таблиц в SQL и базах данных SQLite: JOIN и SELECT

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. Язык SQL — очень мощное и гибкое средство, позволяющее работа с реляционными базами данных. Одной из самых интересных возможностей языка SQL является возможность объединения двух и более таблиц в одну при помощи команды SELECT и ключевого слова JOIN. Хочу заметить, что объединение таблиц довольно дорогая операция и, чем больше строк в таблице, которые мы объединяем, тем эта операция обходится дороже, так как СУБД начинает вычислять так называемый предикат объединения для каждой строки. В SQL насчитывается пять видов объединения таблиц, но, к сожалению, в SQLite из этих пяти реализовано только три.

Объединение таблиц в SQL и базах данных SQLite: JOIN и SELECT

В этой записи мы рассмотрим общие принципы объединения таблиц в SQL и разберемся с особенностями реализации ключевого слова JOIN на примере баз данных под управлением SQLite3. А дальше мы рассмотрим каждый из видов объединения таблиц, реализованных в SQLite по отдельности, чтобы понять различия и особенности внутреннего и внешнего объединения таблиц. В процессе объяснения вы,как всегда, увидите примеры, демонстрирующие работы запроса SELECT с использованием JOIN.

Объединение таблиц в SQL запросах SELECT: LEFT JOIN, LEFT OUTER JOIN, INNER JOIN, CROSS JOIN. Разница между запросами JOIN.

На наш взгляд запросы JOIN – это самое интересное, что может делать команда SELECT. Мы рассмотрели объединение запросов в базах данных, которые реализуются при помощи UNION, а далее еще рассмотрим сравнение результатов выборки, но всё это не так интересно, как объединение таблиц в базах данных SQLite. Объединение таблиц реализуется при помощи ключевого слова JOIN.

Стандарт SQL делит объединение таблиц на три вида: внутреннее объединение таблиц (INNER JOIN), внешнее объединение таблиц (LEFT OUTER JOIN, RIGHT JOIN, FULL JOIN) и перекрестное объединение таблиц (CROSS JOIN). Принцип работы любого объединения схож, но результаты будут всегда или почти всегда отличаться.

Принцип работы запросов на объединения таблиц в SQL и реляционных базах данных заключается в том, что внутри одного SQL запроса SELECT выполняется два или более подзапроса (в зависимости от того, сколько мы хотим объединить таблиц), подзапросы разделяются между собой ключевым словом JOIN. У этого JOIN есть ограничение ON (во всяком случае официальная документация SQLite называет ON ограничением), которое называют предикатом объединения. Предикат объединения – это всегда какое-то условие, с помощью которого РСУБД определяет какие строки из двух таблиц ей нужно объединять. А вот с тем, как объединять строки, SQLite разбирается специальным модификаторам: INNER, LEFT OUTER или просто LEFT и CROSS.

Данное объяснение использует не совсем уместный в данном случае термин подзапрос, это сделано намеренно для того, чтобы объяснить принцип работы JOIN читателю, который еще не знаком с SQL. Термин подзапрос не совсем уместен, так как подзапрос SELECT всегда возвращает какую-то результирующую таблицу, а когда мы объединяем таблицы при помощи JOIN, чаще всего мы обращаемся к физическим таблицам базы данных (хотя никто не запрещает вам объединить существующую таблицу, с таблицей, которую вернет подзапрос SELECT).

Вообще, стандарт SQL выделяет гораздо больше модификаторов JOIN:

  1. INNER JOIN – внутреннее объединение таблиц.
  2. LEFT JOIN или LEFT OUTER JOIN – левое внешнее объединение таблиц.
  3. RIGHT JOIN или RIGHT OUTER JOIN – правое внешнее объединение таблиц.
  4. FULL JOIN – полное объединение таблиц.
  5. CROSS JOIN – перекрестное объединение таблиц.

Но в базах данных SQLite есть только три вида объединения таблиц, о которых мы говорили ранее, их вполне достаточно для любых целей. Помните, мы рассматривали связи между таблицами и пытались нормализовать отношения? Когда наша база данных находится в первой нормальной форме мы и думать не думаем о том, как объединить таблицы в запросе SELECT, а вот когда отношение находится во второй нормальной форме или в третьей нормальной форме, у нас может появиться вопрос: как в одном запросе получить данные из двух или трех таблиц?

И этот вопрос хороший, так как он вызван ленью, той ленью, которая нас спасает от глупой и ненужной работы, которая заставляет что-то улучшать и совершенствовать. Как вы уже догадались, SELECT в комбинации с JOIN спасает нас от проблемы, описанной выше.

Ниже вы найдете небольшую шпаргалку по SQL запросу SELECT с использованием JOIN, в этой шпаргалке есть маленькие примеры и диаграммы, которые позволяют понять, как работает JOIN и как происходит объединение таблиц в базах данных.

Примеры работы запросов SELECT с JOIN и диаграммы, демонстрирующие работу различных способов объединения таблиц

Те, кто разобрались с тем, как работает JOIN в SQL и базах данных SQLite глядя на изображение выше – честь вам и хвала, это действительно здорово, а вот тем, кто не разобрался, мы предлагаем продолжить чтение и разобраться вместе с объединением таблиц и использованием JOIN в SQLite.

Готовим таблицы для реализации примеров SQL запросов JOIN в базе данных SQLite

Давайте подготовим таблицы, чтобы в дальнейшем реализовать примеры объединения таблицы в базе данных при помощи SQL запросов JOIN. И понять в чем разница между: LEFT JOIN, LEFT OUTER JOIN, INNER JOIN и CROSS JOIN. Напомним, что в SQLite нет возможности объединить таблицы при помощи: RIGHT JOIN и FULL JOIN.

Топ-пост этого месяца:  Урок 10. Библиотека JQuery UI (User Interface). Виджеты Selectmenu и Spinner

MySQL. Связи между таблицами. Внешние ключи

В этом видеоуроке мы рассмотрим связи между таблицами, виды связей между таблицами и внешние ключи. Связи между таблицами необходимы для более быстрого доступа к данным. Давайте представим, что вы пришли в магазин и хотите купить фрукты. Представьте, что все фрукты у вас находятся в одном ящике. Согласитесь, вам понадобится гораздо больше времени, чтобы найти 10 яблок. Было бы проще взять эти 10 яблок из отдельного ящика с яблоками. Такой же подход используется и при хранении данных в таблицах.

Вспомним прошлый урок — в нем мы создавали таблицу, в котором хранятся команды, страны и игроки. Это был не очень правильный подход к организации хранения данных. Данные в такой таблице получать неудобно и часто затратно по времени. В этом уроке мы «раздробим» данные на сущности — команды, игроки и страны.

MySQL: Создание таблицы (Create Table)

​Таблицы создание команды требует: Имя таблицы, Имена полей, Определений для каждого поля. Вот универсальный синтаксис SQL для создания таблиц MySQL:

Таблицы создание команды требует:

  • Имя таблицы
  • Имена полей
  • Определений для каждого поля

Вот универсальный синтаксис SQL для создания таблиц MySQL:

Теперь, мы создадим следующую таблицу в учебники базы данных.

Вот несколько пунктов, которые нуждаются в пояснении:

  • Поле атрибута не равно NULL , используется потому что мы не хотим, чтобы она была нулем. Поэтому если пользователь попытается создать запись со значением NULL, то MySQL будет вызвана ошибка.
  • Поле атрибута auto_increment в MySQL не говорит, чтобы идти вперед и добавить следующий доступный номер в поле ID.
  • Ключевое слово первичный ключ используется для определения столбца в качестве первичного ключа. Вы можете использовать несколько столбцов, разделенных запятыми, чтобы определить первичный ключ.

Создание таблиц из командной строки:

Это легко создать MySQL таблицу из MySQL> подсказка. Вы будете использовать команды SQL создать таблицу чтобы создать таблицу.

Пример:

Вот пример, который создает tutorials_tbl:

Создание таблиц с помощью PHP скрипта:

Чтобы создать новую таблицу в любой существующей базы данных необходимо использовать функции PHP функции mysql_query(). Вы будете проходить свой второй аргумент при правильной команды SQL для создания таблицы.

Пример:

Вот пример создания таблицы с помощью PHP скрипта:

как объединить две таблицы MySQL

У меня есть две таблицы MySQL. т.е.

У меня вопрос, как смешать эти две таблицы в соответствии с unique_key поле в таблице db_post ,

// вывод должен быть как ниже. (ГДЕ unique_key = ‘unkey3’)

Решение

Я не понимаю, почему ответ @tango был принят, запрос не дает желаемого результата, он возвращает это:

На самом деле я не понимаю, как вы можете получить результат, который вы написали в своем вопросе, объединяя эти две таблицы с помощью одного соединения.

Либо вы присоединяетесь, используя таблицы, используя unique_key столбец, как это:

и вы получите первый ряд желаемого результата:

либо вы присоединяетесь к двум таблицам, используя db_post. >:

и вы получите вторую строку нужного вам результата:

Чтобы получить обе строки, вы должны использовать union :

Другие решения

Насколько я понимаю, вы запрашиваете SQL для указанной проблемы. если это так, то следующим будет соединение двух таблиц.

если мой комментарий удовлетворит вашу проблему, пометьте его как правильный ответ, чтобы помочь другому читателю в будущем.

используйте этот код для объединения двух таблиц

Связывание таблиц в MySQL

Мне нужно знать, как связать две таблицы в настройке php /mysql, а затем ранжировать результаты?
Вот моя ситуация.

У меня есть таблица историй:

и таблица голосований

Я сохраняю голосование за 1, а голосование за -1 —
Я ищу способ присоединиться к этим двум таблицам, а затем ранжировать /сортировать истории по количеству полученных голосов.
Я открыт для любых идей о том, как это сделать, или другой возможной схемы базы данных.

1 ответ

Я предпочитаю держать имена моих таблиц в единственном числе. Это не таблица «Истории»; это таблица Story с несколькими строками.

Голосование может быть отнесено только к одной истории, так что это отношения один-ко-многим между ними. Я бы положил внешний ключ в таблицу голосов и позволил указать на историю, с которой он связан. Измените схему, если вы согласны: удалите voteid из story и создайте storyid в vote внешний ключ для таблицы story .

Но с учетом вышесказанного, возможно, вы можете попробовать запрос, подобный следующему:

[Закрыто] Объединение баз данных MySQL

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

Сообщений [ 6 ]

1 Тема от nikolaj 2006-07-25 15:39:14

  • nikolaj
  • Редкий гость
  • Неактивен
  • На форуме с 2006-07-25
  • Сообщений: 7

Тема: Объединение баз данных MySQL

Подскажите пожалуйста, можно ли импортировать базу данных в уже существующую только с добавлением новой инфы в поля, где раньше ещё ничего не было, при этом чтобы старые данные, если они уже были, не заменялись пустыми полями, если в импортируемой базе этих данных в полях нет. Другими словами хочется соединить две базы с одинаковой структурой, чтобы добавлялись новые данные и не стирались старые. И если можно, то как. И лучше подробнее 🙂 Заранее благодарен.

2 Ответ от Lokki 2006-07-25 15:49:52

  • Lokki
  • Админ
  • Неактивен
  • Откуда: Москва
  • На форуме с 2006-01-25
  • Сообщений: 910

Re: Объединение баз данных MySQL

3 Ответ от nikolaj 2006-07-25 16:48:32

  • nikolaj
  • Редкий гость
  • Неактивен
  • На форуме с 2006-07-25
  • Сообщений: 7

Re: Объединение баз данных MySQL

Попробовал. Не помогло. Дело в том, что у новой базы появились новые таблицы и в старых таблицах поля добавились, ну и информация забилась. А теперь хочется ещё плюс к этой залить инфу из старой базы, т.к. поля и id в сходных таблицах совпадают. Причем у одного id какие-то поля могут быть заполнены, а какие-то нет в новой базе и наоборот в старой. Как бы все это синхронизировать

4 Ответ от Lokki 2006-07-25 16:54:19

  • Lokki
  • Админ
  • Неактивен
  • Откуда: Москва
  • На форуме с 2006-01-25
  • Сообщений: 910

Re: Объединение баз данных MySQL

nikolaj

А теперь хочется ещё плюс к этой залить инфу из старой базы, т.к. поля и id в сходных таблицах совпадают. Причем у одного id какие-то поля могут быть заполнены, а какие-то нет в новой базе и наоборот в старой. Как бы все это синхронизировать

Тогда при экспорте в блоке ‘Данные’ выбери тип ‘UPDATE’

Добавить комментарий