Соответствие баз данных данным - PullRequest
0 голосов
/ 25 октября 2011

У меня есть две базы данных SQLite (в том числе и MySQL) с одинаковыми структурами таблиц, но с разными данными, и мне нужно получить все строки из одной и проверить одну за другой, точно ли они (одни и те же данные) содержатся ввторой.

Мне нужно сделать это, чтобы получить окончательный отчет «да / нет / частичный» (и на втором шаге вставить во вторую базу данных «нет» и обновить «частичный»).

Кто-нибудь знает, есть ли «умный» способ сделать это?

1 Ответ

0 голосов
/ 25 октября 2011
SELECT COUNT(*) num_mismatch
FROM table1 JOIN table2 ON (..whatever the unique ID you use for matching is...)
WHERE table1.col1 != table2.col1 OR table1.col2 != table2.col2 OR ......etc.

Если num_mismatch не равно 0, у вас есть несоответствия. Вы также можете изменить COUNT(*) для вывода идентификаторов, которые не совпадают. Также возможно использовать NOT EXISTS и возвращать немного быстрее, если есть несоответствия, так как он прекратит проверку после первого несоответствия.

...