Hallo Allemaal,

Heb een timestamp veld nu wil ik al deze records vullen met VALUES bv. 1990-00-00-00-00

Hoe doe ik dit?
Maak eerst een nieuwe kolom aan met type DATETIME. Ik noem hem even datumtijdkolom.

Dan voer je deze SQL uit:

UPDATE tabel
SET datumtijdkolom = FROM_UNIXTIME(timestampkolom)
Ah oke, maar
Ik wil het timestamp veld met daarin alle records tegelijk vullen met fixed data in dit geval 1900-00-00 00:00:00.000000
UPDATE tabel
SET datumtijdkolom = '1900-00-00 00:00:00.000000'
Thanks maar

UPDATE tabel
SET datumtijdkolom = '1900-00-00 00:00:00.000000'

had ik al geprobeerd maar krijg dan de melding 0 rijen bijgewerkt

value die er nu dus overal in staat is Standaardwaarde 0000-00-00 00:00:00.000000

Kan het te maken hebben dat het een timestamp veld is en daarom 0 rijen bijwerkt?
Verkeerd gelezen.
Dacht dat het gewoon een DATETIME was.
TIMESTAMP is een integer.
Maak een nieuwe timestamp kolom aan en zorg dat je voor de bevestiging om aan te maken de standaardwaarde op 1900- en nog wat hebt staan.
Ieder record krijgt nu een veld met de nieuwe standaardwaarde.
Timestamp heeft een minimumwaarde van '1970-01-01 00:00:01'
Jan de Laet op 18/09/2014 12:54:51

Timestamp heeft een minimumwaarde van '1970-01-01 00:00:01'


Niet helemaal correct Jan. Zoals 'San The' reeds zegt is een Unix-timestamp een integer. Dit mag je vertalen in een geheel getal (zonder decimalen dus). Dit getal staat vervolgens voor het aantal seconden die gepasseerd zijn vanaf 1 januari 1970 om 00:00:00 uur. De minimale waarde van een timestamp is dus 0.

@Johan: Waarom maak je er niet een DateTime kolom van in plaats van een Timestamp kolom?

Even uit de MySQL Reference Manual:

The DATETIME supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
> Waarom maak je er niet een DateTime kolom van in plaats van een Timestamp kolom?

En waarom 1990-00-00-00-00 en niet NULL?

Reageren