Frank (no reg): Satz anlegen, wenn vorhanden ändern

Beitrag lesen

Hallo,

ich halte die Variante:

[1] versuche Datensatz per UPDATE zu ändern
[2] prüfe ob genau ein Datensatz geändert wurde (mittels affected_rows etc)
[3] wenn > 1 dann problem
     wenn 1 - dann okay, änderung ist ja bereits erfolgt
     wenn 0 - dann neuen Datensatz mit INSERT anlegen

für optimal(er).

Ist resourcenfreundlicher als

  • select count(*) ... if = 0 dann insert, sonst update oder
  • insert & hoffen auf Unique/Primary Key violation

Ciao, Frank