MySQL Update - Timestamp soll sich nicht autom. mitverändern
Ralf
- php
Hallo
Ich möchte ein Update an einer MySQL Table vornehmen.
Datenbankstruktur:
id | payuser | paymonth | fee |addfee | received |payed
11 | Rupert | 20040301000000 | 5 |15 | 00000000000000 |20
10 | Peter | 20040201000000 | 5 |15 | 00000000000000 |0
12 | Andre | 20040201000000 | 5 |15 | 00000000000000 |0
Query:
UPDATE pay_stats SET received='20040202000000', payed='20' WHERE id='12'
'paymonth' und 'received' sind jeweils Timestamps.
leider wird bei der Query 'paymonth' mit geupdated - also NOW() -
solls aber nicht. Weiss jemand Rat?
Gruß
Ralf
Halihallo Ralf
'paymonth' und 'received' sind jeweils Timestamps.
leider wird bei der Query 'paymonth' mit geupdated - also NOW() -
solls aber nicht. Weiss jemand Rat?
Die einzige Möglichkeit besteht darin, das erste Timestamp-Attribut
in jedem UPDATE-Command auf einen Wert (der, der schon drin
gestanden hat) zu setzen.
Per Definition (s. Doku) wird das erste Timestamp-Attribut immer mit
der aktuellen Timestamp gefüllt, falls es nicht explizit auf einen
anderen Wert gesetzt wird.
Verwende - falls dies eben nicht erwünscht ist - den Datentypen
DATETIME, oder "emuliere" die Timestamp über ein INT(10) UNSIGNED.
Dies lässt sich nicht unterbinden.
Viele Grüsse
Philipp
Hallo,
Dies lässt sich nicht unterbinden.
... ausser durch eine Veraenderung der Tabelle,
sodass die betroffene Spalte nicht mehr die erste,
sondern die zweite Spalte vom Typ "TIMESTAMP" ist.
Es reicht also, (z.B. als zweite Spalte) eine weitere
Spalte vom Typ TIMESTAMP einzufuegen.
ALTER TABLE tabellenname ADD COLUMN tsauto TIMESTAMP AFTER spalte1
oder so, siehe
http://www.mysql.com/doc/de/ALTER_TABLE.html
Gruesse,
Thomas
Ahh vielen Dank
soeben habe ich gemerkt dass ich die Uhrzeit gar nicht benötige
ich habe mich daher nun für DATE entschieden.
Ich habe bishe rimmer nur TIMESTAMP genutzt weils für mich "das einzig wahre war" ;)
Weiß jemand ob sich nach DATE ganz normal sortieren lässt wie TIMESTAMP auch?!
MFG
Ralf
Halihallo Ralf
Weiß jemand ob sich nach DATE ganz normal sortieren lässt wie TIMESTAMP auch?!
Natürlich; in SQL ist alles Sortierbar ;-)
Viele Grüsse
Philipp
Hallo,
Weiß jemand ob sich nach DATE ganz normal sortieren lässt wie TIMESTAMP auch?!
Ja, klar.
_Der_ grosse Unterschied zwischen TIMESTAMP und DATE/DATETIME
ist eben, dass die jeweils erste TIMESTAMP-Spalte in
einer Zeile bei Aenderungen automatisch aktualisiert
wird, DATE/DATETIME jedoch nicht.
Auch DATE bzw. DATETIME kannst Du auf den aktuellen Zeitpunkt setzen:
... datumspalte=NOW()
http://www.mysql.com/doc/en/DATETIME.html
Gruesse,
Thomas
Nun gut mit Date scheint es keinerlei Probleme zu machen! Danke für
euer beider Unterstützung :)
MFG
Ralf Heumann