MySQL-Tabellenzusammenführung: Die vollständige Anleitung
Zwei MySQL-Tabellen mit derselben Struktur zusammenführen, was aufgrund möglicher Primärschlüsselkonflikte besondere Herausforderungen mit sich bringt. Es gibt jedoch einige effektive Möglichkeiten, diese Aufgabe zu erfüllen.
Methode 1: IGNORE EINFÜGEN
Um vorhandene Zeilen in Tabelle_1 beizubehalten und nur neue Zeilen in Tabelle_2 einzufügen, können Sie die folgende Abfrage verwenden:
<code class="language-sql">INSERT IGNORE INTO table_1 SELECT * FROM table_2;</code>
Methode 2: ERSETZEN
Wenn Sie beim Einfügen neuer Zeilen alternativ vorhandene Zeilen in Tabelle_1 durch entsprechende Zeilen in Tabelle_2 ersetzen möchten, können Sie die folgende Abfrage verwenden:
<code class="language-sql">REPLACE INTO table_1 SELECT * FROM table_2;</code>
Hinweise zu Primärschlüsselkonflikten
Die Methoden INSERT IGNORE und REPLACE behandeln Primärschlüsselkonflikte unterschiedlich. INSERT IGNORE fügt eine neue Zeile ohne widersprüchliche Primärschlüsselwerte ein. REPLACE aktualisiert vorhandene Zeilen unabhängig von Primärschlüsselkonflikten.
Beispiel
Betrachten Sie zwei Tabellen, Tabelle_1 und Tabelle_2, die die folgenden Daten enthalten:
table_1 | |
---|---|
id | name |
1 | John |
2 | Mary |
table_2 | |
---|---|
id | name |
1 | Mike |
2 | Sarah |
3 | Peter |
Verwenden Sie INSERT IGNORE zur Abfrage. Die Ergebnisse lauten wie folgt:
table_1 | |
---|---|
id | name |
1 | John |
2 | Mary |
3 | Peter |
Zeilen in Tabelle_2 mit übereinstimmenden Primärschlüsseln werden ignoriert und nur Zeilen mit nicht vorhandenen Primärschlüsseln werden eingefügt.
Verwenden Sie die REPLACE-Abfrage. Die Ergebnisse lauten wie folgt:
table_1 | |
---|---|
id | name |
1 | Mike |
2 | Sarah |
3 | Peter |
Zeilen in Tabelle_1 mit übereinstimmenden Primärschlüsseln werden durch entsprechende Zeilen in Tabelle_2 ersetzt.
Das obige ist der detaillierte Inhalt vonWie füge ich MySQL-Tabellen mit identischen Strukturen zusammen und gehe mit Primärschlüsselkonflikten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!