phpbar.de logo

Mailinglisten-Archive

Gehört das so? Frage zu "Update table..."
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gehört das so? Frage zu "Update table..."



Hi loide,

grade habe ich ein verhalten an mysql festgestellt, was mich etwas
verwundert (auch wenn es eigentlich sehr schlau ist ;))

Wenn ich einen record per 
   update table set field='foo' where id=1
mache, und in dem record ist im feld "field" schon 'foo'
enthalten, dann meldet mysql 
   Query OK, 0 rows affected (0.00 sec)

Mache ich hingegen
   update table set field='foofoo' where id=1
bekomme ich
   Query OK, 1 row affected (0.00 sec)

Die doku sagt es ja auch:
   If you set a column to the value it currently has, MySQL
   notices this and doesn't update it.

Kann ich mysql dazu bewegen, das update _immer_ zu machen?

Der hintergrund, warum ich das brauche:
In einer PHP-anwendung kann ein user seine daten ändern. Diese
daten müssen anschließend von einem admin freigegeben werden. Es
handelt sich dabei um ein etwas komplexeres layout mit 18 tabellen
und mehreren 1:n-relationen. 

Daher habe ich darauf verzichtet, in jeder tabelle ein flag-feld
für die freischaltung zu machen. Stattdessen werden die vom user
editierten datensätze in einer weiteren tabelle als sql-statements
gespeichert, die jederzeit später vom admin über ein formular
ausgeführt werden können.

Um zu erkennen, ob die ausführung erfolgreich war, überprüfe ich
die affected_rows, die bei einem update mit dem schon vorhanden
inhalt eben leider 0 ergeben.

Wie kann ich aber nun erkennen, daß mal wirklich ein sql-statement
nicht ausgeführt werden konnte, weil irgendwelche kaputten inhalte
vom user eingegeben wurden?

ciao

amalesh
-- 
Keep Agent alive: http://www.living-source.com/agent/
LS beim CCC-Camp: http://www.living-source.com/ccc/
German Goatrance: http://www.goatrance.de
Contact         : aka_(at)_bigfoot.de ~ icq:963380


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive