Vergleichen Sie Unterschiede zwischen zwei Tabellen in MySQL
Gleiche wie oracle diff: vergleichen von zwei Tabellen? außer in mysql.
Angenommen ich habe zwei Tabellen, t1 und t2, die identisch in layout, aber unterschiedliche Daten enthalten.
Was ist der beste Weg, um diff-diese beiden Tabellen?
Um genauer zu sein, ich versuche, herauszufinden, eine einfache SQL-Abfrage, die mir sagt, wenn Daten aus einer Zeile in t1 unterscheidet sich von den Daten aus der entsprechenden Zeile in t2
Es scheint, ich kann nicht verwenden, die schneiden noch minus. Wenn ich versuche
SELECT * FROM robot intersect SELECT * FROM tbd_robot
Bekomme ich einen Fehler-code:
[Error Code: 1064 SQL State: 42000] Sie haben einen Fehler in Ihrer SQL
syntax; check the manual, das entspricht Ihrer MySQL-server-version
für den richtigen syntax in der Nähe 'SELECT * FROM tbd_robot' at line 1
Mache ich etwas, das syntaktisch falsch? Wenn nicht, gibt es eine weitere Abfrage, die ich nutzen kann?
Edit: Außerdem bin ich eine Abfrage über eine Kostenlose version von DbVisualizer. Nicht sicher, ob das eine Rolle spielen könnte.
InformationsquelleAutor der Frage echoblaze | 2009-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
INTERSECT
muss emuliert werden inMySQL
:Edit: Hinzugefügt, um die Wörter: setzen
InformationsquelleAutor der Antwort Quassnoi
Können Sie konstruieren den Schnittpunkt manuell mit der UNION. Es ist ganz einfach, wenn Sie haben einige einzigartige Feldes in beiden Tabellen, z.B.-ID:
Wenn Sie nicht einen eindeutigen Wert besitzen, können Sie immer noch erweitern Sie den obigen code, um alle Felder statt nur die ID, und verwenden Sie UND um Sie miteinander zu verbinden (z.B. ID not IN(...) UND OTHER_FIELD NICHT IN(...) etc.)
InformationsquelleAutor der Antwort Roee Adler
Fand ich eine andere Lösung in diesem link
InformationsquelleAutor der Antwort Haim Evgi
versuchen. Diese vergleichen Ihre Tabelle und finden Sie alle passenden Paare, wenn irgendeine Diskrepanz geben NULL zurück, auf der linken Seite.
InformationsquelleAutor der Antwort yasir kk
Basierend auf Haim Antwort, die ich erstellt einen PHP-code zum testen und anzeigen der Unterschiede zwischen zwei Datenbanken.
Dies wird auch angezeigt, wenn eine Tabelle vorhanden ist, in Quell-oder test-Datenbanken.
Sie müssen ändern Sie es mit Ihren details die < > - Variablen Inhalt.
InformationsquelleAutor der Antwort Bogdan Draganica