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 № 1Jednym 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