Vinzenz Mai: MySQL: Varchar in Timestamp ändern

Beitrag lesen

Hallo

hat jemand eine Idee, wie ich in einer MySQL-Tabelle die Einträge einer Spalte vom Typen Varchar in Timestamp am einfachsten ändere?

welche MySQL-Version? Da hat sich mal in Sachen TIMESTAMP was getan (4.1)

Als ich die Tabelle eingerichtet habe, habe ich provisorisch / aus Faulheit das Datum als Zeichenkette angelegt (z.B. "01.01.2006"). Nun hat die Tabelle ca 90 Einträge. Ich möchte das Datum als Timestamp haben, um entsprechende Funktionen nutzen zu können.

Bist Du Dir sicher, dass Du die Funktionalität von TIMESTAMP benötigst, oder reicht Dir nicht ein normaler DATETIME- oder DATE-Datentyp?
Siehe Dir dazu den Handbuchabschnitt TIMESTAMP an.

Muss ich jetzt alle Einträge manuell ändern

Nein.

(neue Timestamp-Spalte anlegen

Ja, das solltest Du (oder DATE-Spalte oder DATETIME-Spalte).

und diese per Hand für jede Zeile füllen)?

Nein.

Oder gibt's da eine andere schlaue Möglichkeit?

Ja, die UPDATE-Anweisung. Wie es genau geht, das hängt von Deiner MySQL-Version ab :-)
Grundsätzlich sollten die Datums- und Zeitfunktionen von MySQL im Zusammenspiel mit der UPDATE-Anweisung (nach Ausführen eines Backups und eines ALTER TABLE) hilfreich sein. Nach dem UPDATE kannst Du dann (mit ALTER TABLE) die nicht mehr benötigte alte VARCHAR-Spalte löschen - und falls Du das willst die neue Spalte so benennen wie früher die VARCHAR-Spalte hieß.

Freundliche Grüße

Vinzenz