MySQL: Datensätze basierend auf der Existenz aktualisieren oder einfügen
Beim Umgang mit einer Datenbank kommt es häufig vor, dass Sie auf Szenarien stoßen, in denen Sie entweder eine Aktualisierung durchführen müssen oder Datensätze basierend auf ihrer Existenz einfügen. Wenn Sie mit PHP und MySQL arbeiten, stellt sich diese Frage häufig.
In diesem Zusammenhang versucht die ursprüngliche Abfrage, Update- und Insert-Anweisungen mithilfe der IF EXISTS-Syntax zusammenzuführen. Dies ist jedoch nicht der effizienteste Ansatz.
Um die gewünschte Funktionalität zu erreichen, sollten Sie die Verwendung der Syntax INSERT ... ON DUPLICATE KEY UPDATE in Betracht ziehen. Hier ist die richtige Syntax:
INSERT INTO <table> (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...
Mit dieser Syntax können Sie sowohl INSERT- als auch UPDATE-Vorgänge in einer einzigen Abfrage ausführen. Wenn der Datensatz nicht vorhanden ist (basierend auf dem Primärschlüssel oder dem eindeutigen Index), wird er eingefügt. Wenn der Datensatz bereits vorhanden ist, wird er mit den bereitgestellten Werten aktualisiert.
Es ist wichtig zu beachten, dass der betroffene Zeilenwert für jede Zeile lautet:
Dieser Ansatz ist effizienter und einfacher zu warten, als die Aktualisierungs- und Einfügevorgänge separat durchzuführen.
Das obige ist der detaillierte Inhalt vonWie kann man Datensätze in MySQL basierend auf ihrer Existenz effizient aktualisieren oder einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!