„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 25.11.2024
Durchsuche:807

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 gezielt bestimmte Felder aus Tabelle 1 in Tabelle 2 kopieren, basierend auf den folgenden Kriterien:

  • Tabelle 1: Enthält Spalten wie „aid“, „st_id“, „from_uid“ und „message“. .
  • Tabelle 2: Enthält Spalten wie st_id, uid, changes, 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 führt zu Folgendem:

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

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

    • 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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3