Update nur bei neustem Eintrag

05/12/2011 - 15:26 von Stefan Becker | Report spam
Hallo,

ich habe in einer DB Versandberichte von SMS Nachrichten mit Datum. Nun
kommt eine Antwort in das System, und es sollen der entsprechende
Versandbericht aktualisiert werden.

Dazu führe ich ein UPDATE $tabellennamen SET Status='$text' WHERE
Rufnummer='$rufnummer' ORDER BY Datum DESC durch, allerdings werden ja dabei
alle Versandberichte dieser Nummer geàndert. Es soll aber nur der neuste
Eintrag geàndert werden. Bietet MySQL dazu eine Möglichkeit?

Stefan
 

Lesen sie die antworten

#1 Axel Schwenke
05/12/2011 - 17:48 | Warnen spam
"Stefan Becker" wrote:

ich habe in einer DB Versandberichte von SMS Nachrichten mit Datum. Nun
kommt eine Antwort in das System, und es sollen der entsprechende
Versandbericht aktualisiert werden.

Dazu führe ich ein UPDATE $tabellennamen SET Status='$text' WHERE
Rufnummer='$rufnummer' ORDER BY Datum DESC durch, allerdings werden ja dabei
alle Versandberichte dieser Nummer geàndert. Es soll aber nur der neuste
Eintrag geàndert werden. Bietet MySQL dazu eine Möglichkeit?



Das UPDATE-Statement in MySQL akzeptiert die LIMIT Option:

UPDATE ... ORDER BY Datum DESC LIMIT 1

veràndert also nur den Datensatz mit dem höchsten (neuesten)
Wert in der `Datum` Spalte.

Siehe http://dev.mysql.com/doc/refman/5.1/en/update.html


Allerdings halte ich es für gewagt, nur nach Telefonnummer und
Zeitpunkt zu gehen. Gibts denn vom SMS-Gateway keine eindeutige
Identifizierung(snummer) für eine verschickte SMS?


XL

Ähnliche fragen