Heim  >  Artikel  >  Datenbank  >  Wie kann ich mit INSERT INTO...SELECT selektiv Daten zwischen MySQL-Tabellen kopieren?

Wie kann ich mit INSERT INTO...SELECT selektiv Daten zwischen MySQL-Tabellen kopieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-27 16:13:08346Durchsuche

How Can I Selectively Copy Data Between MySQL Tables Using INSERT INTO...SELECT?

Kopieren von Daten zwischen MySQL-Tabellen mit benutzerdefinierter Feldauswahl

Im Bereich der Datenbankverwaltung ist die effiziente Übertragung von Daten zwischen Tabellen eine häufige Aufgabe. MySQL bietet mehrere Methoden, um dies zu erreichen, einschließlich der INSERT INTO...SELECT-Anweisung.

Stellen Sie sich ein Szenario vor, in dem Sie zwei MySQL-Tabellen haben, Tabelle 1 (die vorhandene Tabelle) und Tabelle 2 (die neue Tabelle). Sie möchten anhand der folgenden Kriterien gezielt bestimmte Felder aus Tabelle 1 in Tabelle 2 kopieren:

  • Tabelle 1: Enthält Spalten wie „aid“, „st_id“, „from_uid“ und „message“. .
  • Tabelle 2: Enthält Spalten wie st_id, uid, geändert, Status, und zuweisen_status.

Verwenden von MySQL-Abfragen für selektive Datenkopie:

Um Ihr Ziel zu erreichen, können Sie die folgende MySQL-Abfrage verwenden:

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

Diese Abfrage bewirkt Folgendes:

  1. Fügt Daten in die Tabelle ein 2, einschließlich der folgenden Spalten:

    • st_id
    • uid
    • geändert (mit der Funktion NOW() auf den aktuellen Zeitstempel gesetzt)
    • Status (auf „Ausstehend“ gesetzt)
    • assign_status (auf „Ausstehend“ gesetzt) 'Zugewiesen')
  2. Wählt Daten aus Tabelle 1 aus, passend zu den Spalten in der INSERT-Anweisung. Konkret wählt es Folgendes aus:

    • st_id
    • from_uid

Wenn Sie alle Zeilen aus Tabelle 1 kopieren möchten, können Sie dies tun Lassen Sie die WHERE-Klausel weg. Wenn Sie die Kopie jedoch auf eine bestimmte Teilmenge von Zeilen beschränken möchten, können Sie eine WHERE-Klausel mit den gewünschten Bedingungen hinzufügen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit INSERT INTO...SELECT selektiv Daten zwischen MySQL-Tabellen kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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