/ / Porównywanie dwóch DB w zadaniu cron do wysyłania powiadomienia pocztą e-mail - mysql, cron, wiele baz danych

Porównywanie dwóch DB w zadaniu cron do wysyłania powiadomienia pocztą elektroniczną - mysql, cron, wiele baz danych

Cron job:

Zaimportuj plik CSV do MySQL $ db1. Stwórz nowe połączenie z $ db2 i utwórz nowe $ db1.table z danymi z $ db2.

Utknąłem zastanawiając się, jak porównać wyniki tych dwóch baz danych i wysłać powiadomienie podczas zadania cron, jeśli którykolwiek z wierszy pasuje od $ db1.csvtable do $ db1.db2table?

Czy podchodzę do tego projektu we właściwy sposób? Nie ma sposobu, aby porównać wyniki według unikalnego identyfikatora, więc moje najlepsze było porównanie każdej kolumny, ponieważ bazy danych nie są zbyt duże.

Dziękuję za pomoc i daj mi znać, jeśli będzie potrzeba wyjaśnienia. (używając php-mysql)

Odpowiedzi:

0 dla odpowiedzi № 1

Jednym ze sposobów, aby to zrobić, jest zrzucenie danych na dysk jako uporządkowane płaskie pliki, a następnie użycie comm znaleźć pasujące linie.

Coś takiego:

mysql -h db1 -e "select * into outfile "/tmp/db1.txt" from your_table order by id;"
mysql -h db2 -e "select * into outfile "/tmp/db2.txt" from your_table order by id;"
comm -1 -2 /tmp/db1.txt /tmp/db2.txt > /tmp/matching.txt