Динамическое изменение таблиц MySQL для добавления отсутствующих полей на INSERT - PullRequest
1 голос
/ 04 июня 2011

Я пытаюсь объединить данные из одной базы данных MySQL в другую. Проблема в том, что некоторые таблицы в Source_DB имеют поля, которых нет в соответствующей таблице в Target_DB.

Есть ли способ автоматически ALTER таблицы в Target_DB добавить эти пропущенные поля по мере их обнаружения?

Или я должен пойти по другому пути, например, сделать первый проход, где я сравниваю каждую таблицу, чтобы сначала добавить пропущенные поля?

1 Ответ

2 голосов
/ 04 июня 2011

Вы можете запросить INFORMATION_SCHEMA.COLUMNS в каждой БД и выяснить, чего не хватает, с помощью запроса NOT IN, а затем с помощью данных в INFORMATION_SCHEMA.COLUMNS динамически сгенерировать DDL.

Или вы можете использовать инструменткак MySQL Сравните , чтобы сделать это.

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