Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit einer einzigen Abfrage effizient Daten in MySQL einfügen oder aktualisieren?

Wie kann ich mit einer einzigen Abfrage effizient Daten in MySQL einfügen oder aktualisieren?

DDD
Freigeben: 2025-01-21 11:51:09
Original
306 Leute haben es durchsucht

How Can I Efficiently Insert or Update Data in MySQL Using a Single Query?

Optimierung der MySQL-Datenverarbeitung: Einfügungen und Aktualisierungen einzelner Abfragen

MySQL bietet eine elegante Lösung zum effizienten Einfügen neuer Daten oder zum Aktualisieren vorhandener Datensätze basierend auf der Schlüsselexistenz: die INSERT ... ON DUPLICATE KEY UPDATE-Anweisung.

Implementierungsschritte:

Beginnen Sie mit einer Standardanweisung INSERT, die auf die spezifische Tabelle und Spalten abzielt.

Fügen Sie die ON DUPLICATE KEY UPDATE-Klausel hinzu. Diese Klausel bestimmt die Aktualisierungsaktionen, die ausgelöst werden, wenn ein doppelter Schlüssel (definiert durch eine eindeutige Einschränkung oder einen Primärschlüssel) erkannt wird.

Definieren Sie im Abschnitt ON DUPLICATE KEY UPDATE die zu aktualisierenden Spalten und ihre neuen Werte.

Anschauliches Beispiel:

Stellen Sie sich eine Tabelle mit dem Namen usage mit den Spalten thing_id, times_used und first_time_used vor. Um eine neue Zeile für ein bestimmtes thing_id einzufügen, wenn es nicht vorhanden ist, oder times_used zu erhöhen, wenn das thing_id bereits vorhanden ist, verwenden Sie diese Abfrage:

<code class="language-sql">INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`)
VALUES (4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1;</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit einer einzigen Abfrage effizient Daten in MySQL einfügen oder aktualisieren?. 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