Hi!
Soweit ich verstehe wird ein UPDATE nur gespeichert, wenn die einzufügenden Werte nicht mit den vorhandenen Werten übereinstimmen.
Ein UPDATE löst nur dann einen Schreibvorgang aus, wenn sich Daten in einem Feld geändert haben. Das tangiert dich als Programmierer aber nur im Ergebnis von Funktionen wie mysql_affected_rows(). Ansonsten ist es doch egal, ob MySQL was schreibt oder nicht? Selbst vorher zu testen ob es Änderungen gibt, ist letztlich wegen des zusätzlichen SELECTs inklusive Datenabfrage weder einfacher zu programmieren noch schneller ausgeführt.
Mein Problem ist nun, dass ich, wenn es eine Änderung gibt, auch den Autor der Änderung speichern muss. Da der Autor aber nicht immer der gleiche ist, kommt es in diesen Fällen immer zu einem UPDATE obwohl die anderen Felder unverändert bleiben.
Der Autor ist also ein Feld der vom UPDATE betroffenen Tabelle?
Meine Frage ist nun, gibt es eine MySQL interne Lösung um erst nach Änderungen zu schauen und dann eventuell den Autor zu aktualisieren oder muss ich vorab alle Einträge mit PHP auf Veränderung prüfen?
Was für ein Problem hast du denn, wenn du einfach den vollständigen Datensatz inklusive Autor updatest und MySQL einfach selbst entscheiden lässt, für welche Felder es einen Schreibvorgang vornimmt? Wenn du eine interne Lösung (für welches konkrete Problem auch immer) erstellen willst, kannst du dir eine Stored Procedure programmieren.
Lo!