Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich vorhandene Zeilen während eines INSERT mithilfe von MySQLs ON DUPLICATE KEY UPDATE?

Wie aktualisiere ich vorhandene Zeilen während eines INSERT mithilfe von MySQLs ON DUPLICATE KEY UPDATE?

Mary-Kate Olsen
Freigeben: 2024-11-30 02:30:13
Original
592 Leute haben es durchsucht

How to Update Existing Rows During an INSERT Using MySQL's ON DUPLICATE KEY UPDATE?

Verwenden von „INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE“

Beim Durchführen eines Einfügevorgangs mit MySQL wird Folgendes angezeigt: Es ist möglich, vorhandene Zeilen zu aktualisieren, wenn ein eindeutiger Schlüsselkonflikt auftritt. Dies kann mit der Syntax „INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE“ erreicht werden.

In der angegebenen Abfrage ist es beabsichtigt, Zeilen aus einer temporären Tabelle ('tmp') einzufügen. in die 'Lee'-Tabelle. Wenn in „lee“ bereits eine Zeile mit demselben eindeutigen Schlüssel („id“ in diesem Fall) vorhanden ist, sollte die Abfrage bestimmte Spalten auf die Werte aus der Tabelle „tmp“ aktualisieren.

Die Syntax für das UPDATE Die Klausel in diesem Szenario lautet wie folgt:

ON DUPLICATE KEY UPDATE column1=SELECT_column1, column2=SELECT_column2, ...
Nach dem Login kopieren

Hier bezieht sich „column1“ auf eine Spalte in der „lee“-Tabelle und „SELECT_column1“ auf die entsprechende Spalte in die SELECT-Klausel. Durch die Angabe dieser Paare bestimmt MySQL, welche Spalten mit den neuen Werten aus SELECT aktualisiert werden sollen.

Für die bereitgestellte Abfrage würde die UPDATE-Klausel wie folgt aussehen:

ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, inadur=t.inadur, inadist=t.inadist, smlct=t.smlct, smldur=t.smldur, smldist=t.smldist, larct=t.larct, lardur=t.lardur, lardist=t.lardist, emptyct=t.emptydur, emptydur=t.emptydur
Nach dem Login kopieren

Dadurch wird sichergestellt, dass die Die Spalten „entct“, „inact“, „inadur“ usw. werden mit den Werten aus den entsprechenden Spalten in der temporären Tabelle aktualisiert, wenn ein doppelter Schlüssel gefunden wird.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich vorhandene Zeilen während eines INSERT mithilfe von MySQLs ON DUPLICATE KEY UPDATE?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage