Ich habe einige Daten als TXT-Datei gespeichert. Ich speichere die TXT-Datei als CSV, um sie mit meiner SQL-Workbench in eine Datenbank zu importieren. Was ich mache, ist folgendes:
%Vor%Aber eine Spalte in meiner Spalte ist ein Datum und wird als
importiertWie kann ich es gut importieren? Bearbeiten Hier ist, was mein csv enthält:
%Vor%Bitte versuchen Sie es mit diesem:
%Vor%Weitere Informationen finden Sie unter LOAD DATA und STR_TO_DATE
Hinweis: Ich habe den FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-Teil gelöscht, weil ich weder ,
noch "
in Ihrer CSV sehe. Aber wenn es für Sie so funktioniert, wie es ist, zögern Sie nicht:)
Das Standarddatumsformat ist YYYY-MM-DD
:
... daher erkennt MySQL Sachen wie 11/17/2012
nicht als korrektes Datum. Theoretisch sollten Sie in der Lage sein, das Standardformat zu ändern, aber ich bin mir nicht sicher, ob dies im Session-Bereich möglich ist, und ich würde nicht empfehlen, es für den gesamten Server zu ändern. Es ist besser, die Transformation selbst durchzuführen. Der Trick besteht darin, den Wert in eine Variable und nicht in eine Spalte einzufügen.
Zusätzlich gibt es noch zwei weitere Probleme:
,
. Wenn Ihre Datei Registerkarten als Trennzeichen verwendet, lautet der vollständige Befehl:
%Vor% MySQL erlaubt eigentlich nicht, @@date_format
auf jeden Fall zu ändern:
Wie das MySQL 5.6-Handbuch erklärt :
Diese Variable ist nicht verwendet. Es ist ab MySQL 5.6.7 veraltet und wird in einer zukünftigen MySQL-Version entfernt werden.
Auch bei Datums- und Zeittypen können wir lesen:
MySQL ruft Werte für einen bestimmten Datums- oder Zeittyp in einem Standard ab Ausgabeformat, aber es versucht, eine Vielzahl von Formaten zu interpretieren Eingabewerte, die Sie angeben (z. B. wenn Sie einen Wert angeben einem Datums- oder Zeittyp zugeordnet oder damit verglichen werden). Für eine Beschreibung der zulässigen Formate für Datums- und Zeittypen, siehe Abschnitt 10.1.3, "Datums- und Zeitliterale" . Es wird erwartet, dass Sie gültige Werte angeben. Wenn Sie Werte in anderen Formaten verwenden, können unvorhersehbare Ergebnisse auftreten.
Obwohl MySQL versucht, Werte in verschiedenen Formaten zu interpretieren, date Teile müssen immer in der Reihenfolge Jahr-Monat-Tag angegeben werden (z. B. '98 -09-04 ') statt im Monat-Tag-Jahr oder Tag-Monat-Jahr Aufträge, die an anderer Stelle häufig verwendet werden (z. B. '09 -04-98 ', '04 -09-98').