Daten effizient in MySQL-Tabelle einfügen oder aktualisieren
Stellen Sie sich ein Szenario vor, in dem Sie eine neue Datenzeile einfügen möchten, wenn diese nicht vorhanden ist , oder aktualisieren Sie eine vorhandene Zeile, wenn dies der Fall ist. In diesem Fall könnten Sie versucht sein, eine UPDATE-Anweisung wie die in der Frage angegebene zu verwenden. Allerdings hat dieser Ansatz seine Grenzen.
Die Verwendung von INSERT ... ON DUPLICATE KEY UPDATE bietet eine effizientere Lösung. So funktioniert es:
Die INSERT-Klausel versucht, eine neue Zeile mit den angegebenen Werten in die AggregatedData-Tabelle einzufügen. Wenn bereits eine Zeile mit demselben Datum vorhanden ist, kommt die ON DUPLICATE KEY UPDATE-Klausel ins Spiel.
Die UPDATE-Klausel gibt an, welche Spalten in der vorhandenen Zeile aktualisiert werden sollen. In diesem Fall möchten wir die Spalte „Timestamp“ mit dem bereitgestellten Wert („2010-01-14 23:30:00.000“) aktualisieren.
Im Gegensatz zur UPDATE-Anweisung müssen wir kein Datenum einschließen die UPDATE-Klausel, da es sich um den eindeutigen Schlüssel handelt und unverändert bleiben sollte.
Durch die Verwendung der VALUES()-Funktion wird sichergestellt, dass beim Aktualisieren die richtigen Werte verwendet werden die anderen Spalten.
Hier ist die überarbeitete Anweisung mit INSERT ... ON DUPLICATE KEY UPDATE:
INSERT INTO AggregatedData (datenum,Timestamp) VALUES ("734152.979166667","2010-01-14 23:30:00.000") ON DUPLICATE KEY UPDATE Timestamp=VALUES(Timestamp)
Dieser Ansatz verarbeitet effizient sowohl das Einfügen als auch das Aktualisieren in einer einzigen Anweisung und erleichtert so die Datenverwaltung Ihre MySQL-Tabelle wird schlanker.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten effizient in MySQL einfügen oder aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!