Heim > Datenbank > MySQL-Tutorial > Wie klone ich eine Zeile in MySQL, ohne explizit Spalten auszuwählen?

Wie klone ich eine Zeile in MySQL, ohne explizit Spalten auszuwählen?

DDD
Freigeben: 2024-11-10 19:07:03
Original
512 Leute haben es durchsucht

How to Clone a Row in MySQL without Explicitly Selecting Columns?

Klonen einer Zeile in MySQL: Alternative zur expliziten Spaltenauswahl

In MySQL ist es oft erwünscht, eine Tabellenzeile schnell und effizient zu replizieren. Der übliche Ansatz besteht darin, Zeilendaten mit „SELECT *“ zu extrahieren und wieder in dieselbe Tabelle einzufügen. Diese Methode wird jedoch bei Tabellen mit einer großen Anzahl von Spalten unhandlich.

Leonard Challis hat eine clevere Lösung vorgeschlagen, die die Notwendigkeit vermeidet, alle Spalten aufzulisten:

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
Nach dem Login kopieren

Diese Technik beinhaltet die Erstellung einer temporäre Tabelle zum Speichern der gewünschten Zeile. Der Primärschlüssel für diese temporäre Tabelle ist auf Null gesetzt, sodass MySQL beim Einfügen einen neuen Wert generieren kann. Um sicherzustellen, dass eine einzelne Zeile abgerufen wird, kann „LIMIT 1“ zur INSERT INTO-Anweisung hinzugefügt werden.

Um weiterhin sicherzustellen, dass nur die beabsichtigte Zeile eingefügt wird, sollte der Primärschlüsselwert an den Namen der temporären Tabelle angehängt werden wie im Codeausschnitt zu sehen ist. Diese Technik vereinfacht den Prozess des Zeilenkopierens, ohne dass eine explizite Spaltenauswahl erforderlich ist, und macht sie zu einem wertvollen Werkzeug für die Verwaltung großer Tabellen in MySQL.

Das obige ist der detaillierte Inhalt vonWie klone ich eine Zeile in MySQL, ohne explizit Spalten auszuwählen?. 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