2016-04-20 17 views
0

Ich füge einen leeren date-field ein, aber ein Standardwert 1970-01-01 wird automatisch eingefügt. Warum?Mysql Datum Standard einfügen in 1970-01-01

Ich änderte auch die Date Struktur null, setzen Default als Null zu ermöglichen, noch ist es 1970-01-01 einsetzen.

+1

Können Sie uns zeigen, was Code, den Sie versuchen, auszuführen? Von Ihren Kommentaren haben Sie Probleme mit dem PHP-Teil davon? – Jester

Antwort

0

Sie fügen höchstwahrscheinlich eine leere Zeichenfolge ein. Wenn Sie eine Eingabezeichenfolge eingeben, wird stattdessen 1970-01-01 geschrieben. Sie müssen wirklich NULL einfügen, wenn Sie dies nicht möchten.

Was möchten Sie tun ist:

INSERT INTO table 
SET datefield = NULL 

Nicht "NULL" aber NULL Sonst wird es als String lesen und nicht als NULL

können Sie auch festlegen einfach nicht die Spalte überhaupt in Ihrem einfügen und dann wird es NULL sowie

+0

Sorry für meine dumme Frage, $ model-> birthday = NULL, ok bin entfernte Zitate Aber es immer noch einfügen 1970-01-01 –

+0

und wenn Sie dieses Feld nicht gesetzt haben Sie einen Fehler bekommen? –

+0

Was Sie in Kommentaren eingeben, ist PHP nicht MySQL? Vielleicht bearbeiten Sie Ihre Frage, um zu zeigen, was der Code ist, den Sie versuchen. Das könnte uns sehr helfen. – Jester

1

verwenden Es ist das Standardverhalten von MySQL, in der Datenbank überprüfen, dass das Feld NULL sein kann.

prüfen dies: old post

+0

Aber kann Datum Null nicht einfügen, Was ist falsch in meinem Code? $ newdate = "NULL"; $ model-> birthday = $ newdate; Ich versuche, Null-Wert in das Datum Feld einzufügen und änderte auch mysql, um Null-Wert noch seine einfügen 1970 –

+0

@ priyampmp1 höchstwahrscheinlich Sie einfügen es mit "" oder "um es herum, dies wird dazu führen, dass mysql es als eine Zeichenfolge interpretieren und damit Gib mir noch 1970, siehe meine Antwort – Jester