Das Standarddatumsformat einer Datumsspalte ist YYYY-MM-DD HH:MM:SS
in MySQL.
Die Datendatei, von der ich versuche, zu laden, hat ein Datumsfeld mit dem Datum in DD-MON-YY HH:MM:SS
format. Wenn ich diese Datei mit dem Befehl LOAD DATA
lade, wird die Datenbank durcheinander gebracht und alle Dateneinträge werden nur auf 0000-00-00 00:00:00
oder NULL
Hier ist der Test, den ich mit STR_TO_DATE
Option gemacht habe und es funktioniert nicht.
Testinfile (test_temp.csv)
%Vor%Testtabelle (temp_test)
%Vor%Befehl zum Laden von Daten:
%Vor%Ausgabe
%Vor%Ist das Problem mit
?07-JUN-12
oder 07-Jun-12
sein) oder %d-%b-%y
) oder Ihre Format-Zeichenfolge für STR_TO_DATE()
ist ungültig. Stunden in Ihren Beispieldaten haben 24-Stunden-Format ( %H
oder %k
) anstelle von 12-Stunden ( %h
). Sie können alle möglichen Datumsformatbezeichner hier sehen .
Ändern
%Vor%bis
%Vor%Ihre Aussage könnte so aussehen
%Vor%Nach dem Laden mit Ihren Beispieldaten
%Vor%Da ich ein ähnliches Problem hatte, aber das Format für das eingehende Datum anders war, würden Sie Folgendes tun, wenn das Format für eingehende Daten folgendes wäre:
Beispiel für ein Eingabeformat,
%Vor%Sie müssten ein anderes Datumsformat verwenden,
%Vor%Hier finden Sie einen Link zur mysql Dokumentation und eine Liste der Datumsformate , aber kurz
Datumsteil,
%Vor%Wochentag,
%Vor%Zeit
%Vor%Es gibt andere Muster, die oben nicht aufgeführt sind.
%Vor%