Thread Insert Into... On Duplicate Key Update... (20 answers)
Opened by rosti at 2012-05-25 20:39

topeg
 2012-05-25 21:54
#158621 #158621
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Bedenke auch das das nicht SQL2008 konform ist. Das ist MySQL spezifisch und funktioniert nicht mal mit allen Backends.

Es kommt auch darauf an was man will.
Als Beispiel. Es sollte eine Fehlermeldung geben, wenn ein Loginname schon existiert, da ist deine Lösung unpraktisch.

Es gibt nur wenige Möglichkeiten das Standard konform zu lösen.
Was allgemein vorgeschlagen wird, ist ein Update zu versuchen und bei einem Fehlschlag ein Insert.(Oder Umgekehrt)
Doch einige DB-Interfaces kamen/kommen mit Fehlschlägen nur ganz schlecht klar und man muss einen enormen Aufwand treiben und das ordentlich hin zu bekommen.

Wenn die DB Funktionen erlaubt kann man die nötige Funktionalität darüber emulieren. Mit PL/SQL z.B

Doch einfach und portabel zwischen Programmiersprachen und Datenbanken ist erst abzufragen und dann einzufügen/aktualisieren. Auch wenn man damit unnötig Daten durch das DB-Interface schaufelt. Es ist einfach und Funktioniert immer.

View full thread Insert Into... On Duplicate Key Update...