Ich muss die Werte aller Felder eines Datensatzes mit einem bestimmten Schlüssel festlegen (der Schlüssel ist tatsächlich zusammengesetzt) und den Datensatz einfügen, wenn noch kein Datensatz mit einem solchen Schlüssel vorhanden ist.
REPLACEscheint wie gedacht, um die Arbeit zu erledigen, aber gleichzeitig schlägt seine Handbuchseite vor
INSERT ... ON DUPLICATE KEY UPDATE.
Welchen von ihnen sollte ich besser wählen und warum?
Der einzige "Nebeneffekt", der REPLACEmir in den Sinn kommt, ist, dass dadurch die Autoinkrementierungswerte erhöht werden (zum Glück verwende ich keine), während dies INSERT ... ON DUPLICATE KEY UPDATEwahrscheinlich nicht der Fall ist . Was sind die anderen praktischen Unterschiede zu beachten? In welchen besonderen Fällen kann REPLACEman es vorziehen INSERT ... ON DUPLICATE KEY UPDATEund umgekehrt?