MySQL 4.0.21 -> DATE_ADD bei Update?!

Mik3e

Erfahrenes Mitglied
Abend,

Weiß vielleicht irgendjemand, wie man die DATE_ADD Funktion in einem UPDATE Query einsetzen kann Ich bin bisher vergeblich gescheitert.

Ich habe ein Attribut "datetime" in der Tabelle "table_a" und möchte den enthaltenen Wert um 100 Sekunden erhöhen:

Code:
#table_a
---------------------
id | datetime
1  | 2005-07-28 20:00:00
Das Datum soll nun um 100 Sec erhöht werde (also auf 2005-07-28 20:01:40)

Ich hätte mir das so vorgestellt:

Code:
UPDATE
table_a
SET
datetime=datetime+DATE_ADD(datetime, INTERVAL 100 SECOND)
WHERE
id='1';
Die Betonung liegt auf VORGESTELLT :)
Klappt natürlich nicht.. Das Feld datetime wird auf 0 gesetzt...

Vielleicht hat irgendwer einen Lösungsansatz für mich

Danke & LG
Mike
 
Code:
UPDATE
table_a
SET
datetime=DATE_ADD(datetime, INTERVAL 100 SECOND)
WHERE
id='1';

dein Ansatz war doppelt gemoppelt ;-)
das DATE_ADD macht die Addtion schon, daher war dein "datetime+" an dieser Stelle zuviel

Marian
 
Hi,

danke, werde ich gleich versuchen...
Das DATE_ADD bereits das Update macht, ist interessant...
In einem Select-Statement wird es nämlich nur als Ausgabeoperator verwendet (die originären Daten werden nicht geändert).

LG
Mike
 
Mik3e hat gesagt.:
Das DATE_ADD bereits das Update macht, ist interessant...

Das DATE_ADD macht ja nicht das update, sondern die Zuweisung

datetime =

Das was rechts von Gleichheitszeichen steht, ist dann das neu berechnete Datum/Uhrzeit. Und das wird über DATE_ADD() geliefert.

Übrigens solltest du Feldnamen vermeiden, die gleichzeitig reservierte Wörter in MySQL sind. DATETIME ist nämlich ein Datentyp. Wenn dein Feld auch genauso heißt, können andere Probleme auftreten. Nenne es lieber "datumsfeld" oder meinetwegen "datetime_field", damit ist es eindeutig, ob der Feldname oder der Datentyp gemeint ist.

Gruß

Marian
 
Das Feld heißt natürlich nicht datetime :) Habe es nur Zwecks besserem Verständnis hier so genannt...
Und bezüglich Dateadd: Eh klar, stand wohl auf ner dicken Leitung oder meine Hirnzellen schalten ab 35° Außentemperatur ab :eek:)))
 
Zurück