Heim > Datenbank > MySQL-Tutorial > Wie füge ich MySQL-Tabellen mit identischen Strukturen zusammen und gehe mit Primärschlüsselkonflikten um?

Wie füge ich MySQL-Tabellen mit identischen Strukturen zusammen und gehe mit Primärschlüsselkonflikten um?

DDD
Freigeben: 2025-01-13 10:31:42
Original
756 Leute haben es durchsucht

How to Merge MySQL Tables with Identical Structures and Handle Primary Key Conflicts?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage