Heim > Datenbank > MySQL-Tutorial > Wie können SQL-Zeilen basierend auf übereinstimmenden Kriterien effizient übertragen und gelöscht werden?

Wie können SQL-Zeilen basierend auf übereinstimmenden Kriterien effizient übertragen und gelöscht werden?

DDD
Freigeben: 2024-12-16 18:09:16
Original
158 Leute haben es durchsucht

How to Efficiently Transfer and Delete SQL Rows Based on Matching Criteria?

Daten übertragen: Zeilen von einer SQL-Tabelle in eine andere verschieben

Anfangsproblem:

Benutzer möchten Daten basierend auf bestimmten Übereinstimmungskriterien von einer SQL-Tabelle in eine andere übertragen. In diesem speziellen Fall erfordert die Abfrage das Verschieben aller Zeilen von Tabelle1 nach Tabelle2, die die Bedingungen „Benutzername = ‚X‘“ und „Passwort = ‚X‘“ erfüllen. Anschließend sollten diese Zeilen aus Tabelle 1 gelöscht werden.

Technische Lösung:

Um diese Datenmigration effizient durchzuführen, kann ein zweistufiger Prozess innerhalb einer einzigen SQL eingesetzt werden Transaktion. Dies beinhaltet ein anfängliches Einfügen und ein anschließendes Löschen:

BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition>;

DELETE FROM Table1
WHERE <condition>;

COMMIT;
Nach dem Login kopieren

Zusätzliche Überlegungen:

Für Fälle, in denen neue Datensätze, die den angegebenen Kriterien entsprechen, möglicherweise zwischen den Bei Einfügungs- und Löschvorgängen kann eine aufwändigere Abfrage verwendet werden:

BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition> AND NOT EXISTS (SELECT 1 FROM Table2 WHERE <condition>);

DELETE FROM Table1
WHERE <condition>;

COMMIT;
Nach dem Login kopieren

Dieser Zusatz stellt sicher, dass nur die ursprünglich übereinstimmenden Zeilen aus Tabelle1 vorhanden sind auf Tabelle2 übertragen und anschließend aus Tabelle1 entfernt.

Das obige ist der detaillierte Inhalt vonWie können SQL-Zeilen basierend auf übereinstimmenden Kriterien effizient übertragen und gelöscht werden?. 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