hawkmaster: Default Value bei Timestamp

Hallo zusammen,

Ich habe in einer MySQL 5 Tabelle die Spalte "termin" auf timestamp mit DEFAULT CURRENT_TIMESTAMP gesetzt.
Wenn ich nun einen Insert mache und kein Wert übergeben wird, also leer ist, dann wird in die Spalte immer:

0000-00-00 00:00:00

eingetragen. Ich dachte mit CURRENT_TIMESTAMP wird das aktuelle Zeit/Datum eingetragen?

vielen Dank und viele Grüße
hawk

  1. Hi,

    Ich habe in einer MySQL 5 Tabelle die Spalte "termin" auf timestamp mit DEFAULT CURRENT_TIMESTAMP gesetzt.
    Wenn ich nun einen Insert mache und kein Wert übergeben wird, also leer ist, dann wird in die Spalte immer:

    0000-00-00 00:00:00

    eingetragen. Ich dachte mit CURRENT_TIMESTAMP wird das aktuelle Zeit/Datum eingetragen?

    Hast du die Hinweise berücksichtigt, die das Manual bzgl. der Position der TIMESTAMP-Spalte in der Tabelle macht?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi!

      Hast du die Hinweise berücksichtigt, die das Manual bzgl. der Position der TIMESTAMP-Spalte in der Tabelle macht?

      Das war früher mal positionsabhängig. Es dürfen nun auch nicht-erste Timestamp-Spalten CURRENT_TIMESTAMP als Default-Wert haben. Es darf aber nur eine mit Default-Wert-Mechanismus geben, was jedoch beim Anlegen einer weiteren Timestamp-Spalte von MySQL bereits selbst geprüft und gegebenenfalls befehlermeldet wird.

      Lo!

  2. Hi!

    Ich habe in einer MySQL 5 Tabelle die Spalte "termin" auf timestamp mit DEFAULT CURRENT_TIMESTAMP gesetzt.
    Wenn ich nun einen Insert mache und kein Wert übergeben wird, also leer ist, dann wird in die Spalte immer:
    0000-00-00 00:00:00
    eingetragen. Ich dachte mit CURRENT_TIMESTAMP wird das aktuelle Zeit/Datum eingetragen?

    Welches "leer" übergibst du denn?
    ( ) Im Insert-Statement steht die Spalte gar nicht drin (falls eine Feldliste und nciht nur die VALUES-Klausel angegeben ist).
    ( ) Als Wert wird NULL übergeben.
    ( ) _____

    Die dritte Variante führt immer zu 0000-00-00 00:00:00.

    Lo!

    1. Hallo dedlfix,
      danke für deine Hilfe.

      Ich über gebe im Insert ein "" wenn kein Datum vom Anwender angegeben wurde.

      Ich könnte hier natürlich auch ein Datum von 1970 oder ähnlich angeben das in der Vergangenheit liegt. Ich möchte eigentlich nur verhindern das diese 0000-00-00 00:00:00 drin stehen.

      vielen Dank und viele Grüße
      hawk

      1. Hi!

        Ich über gebe im Insert ein "" wenn kein Datum vom Anwender angegeben wurde.

        Das macht das "0000-00-00 00:00:00"-Datum.

        Ich möchte eigentlich nur verhindern das diese 0000-00-00 00:00:00 drin stehen.

        Gib NULL an oder lass die Spalte ganz aus dem Insert-Statement raus.

        Lo!