Как в PHP по дампу mysql таблицы определить различия с уже существующей таблицей?

программирование php MySQL базы данных

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

Примечание:
CromaX
Задача сделать скрипт на php, который сможет составить список нужных запросов

Примечание:
поправка: речь только о структуре таблицы, без содержимого

Примечание:
syamka
Подробности:
Например есть следующий запрос:
CREATE TABLE IF NOT EXISTS `table1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`test_field_1` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

И у меня есть таблица, которая тоже называется table1, но у неё есть ещё поле test_field_2 и поле id int(4), а не int(11) как в запросе, и например есть ещё уникальный ключ на поле test_field_1
Нужно, чтобы пхп скрипт это проанализировал, и вывел мне 3 запроса: первый создает поле test_field_2, второй меняет ширину поля test_field_1 на 4, третий создает уникальный ключ.

Т.е. важна только структура, без записей.
Ответы:
первое, что приходит в голову - вывести текущее состояние базы в новый дамп и построчно сравнить со старым
если в таблице присуствует ключ, то сравнение особого труда не составит
если данные только добавляются можно сделать экспорт в phpmyadmin
с INSERT ignore, тогда сужествующие записи будут пропущенны.
с replace, тогда существующие записи будут замененны, остальные оставленны как есть.
Уточни, что могло происходить с этой таблицей. Только вставка-удаление записей - дело одно, там все элементарно.
А если у тебя записи могли апдейтиться, а тебе надо сохранить IDшники, или если у тебя вообще менялась структура таблицы (добавление, удаление столбцов) - короче, много чего  можно придумать. Давай подробнее.
какая то херня в вопросах и ответах вылетает при добавлении коммента - удалите этот


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.