TIMESTAMP in MySQL
Sascha
- datenbank
Hallo und guten Morgen :-)
ich habe folgendes SQL-Syntax-Problem. Meine Tabelle sind u.a. folgende
Attibute:
date_establishment timestamp(14)YES NULL
causer_adminID int(11) 0
date_modify timestamp(14)YES NULL
modify_adminID int(11) 0
date_last_activity timestamp(14)YES NULL
Wenn ein Datensatz angelegt wird, dann soll 'date_establishment' einen
Timestamp bekommen und 'date_modify', 'date_last_activity' sollen 'leer'
bzw. '00000000000000' bekommen.
Jetzt zum eigentlichen Problem. Wenn ein Datensatz modifiziert wird dann
soll 'date_modify' den Timestamp bekommen und 'date_establishment' soll den
alten wert behalten.
Wie kann ich den passenden Query in PHP umsetzen?
In etwa so,
...
mysql_query("UPDATE hostdb_host SET modify_adminID='$adminid', date_establishment='$alterwert', date_modify=NOW( )
WHERE hostID='$hostID'") or die(mysql_error());
...
?
viele Grüße Sascha
Hi!
mysql_query("UPDATE hostdb_host SET modify_adminID='$adminid', date_establishment='$alterwert', date_modify=NOW( )
WHERE hostID='$hostID'") or die(mysql_error());
Siehe Manual: http://www.mysql.com/doc/de/DATETIME.html, da steht unter anderem:
"Der TIMESTAMP-Typ ist ein Typ, den Sie dafür benutzen können, um INSERT- oder UPDATE-Operationen mit dem aktuellen Datum und der aktuellen Zeit zu stempeln. Wenn Sie mehrfache TIMESTAMP-Spalten haben, wird nur die erste automatisch aktualisiert."
Und wenn Du die Spalten nicht vertauschen willst, dann mach sowas:
UPDATE
hostdb_host
SET
modify_adminID='$adminid',
date_establishment=date_establishment,
date_modify=NOW()
Grüße
Andreas
Und wenn Du die Spalten nicht vertauschen willst, dann mach sowas:
UPDATE
hostdb_host
SET
modify_adminID='$adminid',
date_establishment=date_establishment,
date_modify=NOW()
Danke!
Werde ich gleich testen
viele Grüße Sascha