mySQL - Datum in Tabelle ändern

zomed

Grünschnabel
Hallo,

ich habe folgendes Problem.
Ich habe in einer Tabelle Timestamps. Diese Timestamps sind quasi falsch gesetzt
worden, da die Serverzeit 2 Monate in der Zukunft lag. Jetzt will ich alle Daten die
den Monat Dezember drin haben ändern und auf Oktober "umschreiben". Wie
muss dann mein SQL Update aussehen, wenn ich das einfach nur via SQL-Statement
lösen will?

So siehts bestimmt irgendwie aus, nur ist das definitiv falsch: :)

UPDATE `tabelle` SET postid= WHERE postid=dezember

Gruß
zomed

PS: Jede Antwort ist Geld Wert. ;)
 
Versuch's mal so (ist aber ungetestet):

update 'tabelle' set postid=postid-200000000 where postid="200412%"

Dein timestamp hat doch das Format "20041008104023" oder?

redlama
 
Der Unix-Timestamp gibt die Sekunden an die vergangen sind seit dem ...öhm... ich glaub 1. Januar 1970

Das heisst eigentlich sollte es gut funktionieren, wenn du die Sekunden, die die zwei Monate hatten ausrechnest und dann von den Timestampwerten subtrahierst.

Mach dir vorher ein Backup - alle Angaben ohne Gewähr :D
 
Und wenn Du es sonst über PHP löst?
Also alle Timestamps aus der DB auslesen, die vom Dezember sind, umwandeln in ein normales Datumsformat, die 12 (Monat) durch eine 10 ersetzen, wieder in einen UnixTimestamp umwandeln zurück in die DB, ...

redlama
 
Auf die Idee bin ich auch gekommen... aaaaber! der November hat 30 Tage und der Oktober und Dezember jeweils 31... :)

Soll ich dann einmal 30 Tage und einmal 31 Tage abziehen? :)
 
Aaaalso:

1 Tag hat 24Std, eine Stunde hat 3600 Sekunden
24 * 3600 Sekunden = 86400 Sekunden
30 Tage + 31 Tage = 61 Tage
86400 Sekunden * 61 = 5270400 Sekunden

Ich hoffe ich hab mich nicht vertippt oder so aber wenn ich so früh morgens alles richtig gemacht habe, musst du 5270400 Sekunden abziehen ;)

oder als kurze Antwort auf deine Frage:

"Ja" :D
 
Gut! Jetzt muss ich nur noch wissen wie ich die Daten update wo NUR Dezember
drinne steht. Momentan update ich nur ALLES! :)
 
Berechne Dir doch einfach den Timestamp vom 01.12.2004 00:00:00 und vom 31.12.2004 23:59:59 und dann updates Du alle timestamps die größer gleich Ergebnis1 und kleiner gleich Ergebnis2 sind.

redlama
 

Neue Beiträge

Zurück