Laden von MySQL-Tabellen mit NULL-Werten aus CSV-Daten
Beim Importieren von CSV-Daten in eine MySQL-Tabelle ist es wichtig, NULL-Werte korrekt zu verarbeiten Wahrung der Datenintegrität. Stellen Sie sich die folgende Situation vor:
Sie haben eine Tabelle namens „moo“ mit mehreren numerischen Spalten, die alle NULL-Werte zulassen. Beim Laden von Daten aus einer CSV-Datei stoßen Sie auf leere Felder in den Spalten. Anstatt diese Felder jedoch mit NULL-Werten zu füllen, weist MySQL ihnen Nullen zu. Dies kann zu Dateninkonsistenzen führen, wenn versucht wird, zwischen NULL-Werten und Nullen zu unterscheiden.
Um dieses Problem zu beheben, verwenden Sie den folgenden Ansatz:
Hier ist eine Beispielanweisung:
LOAD DATA INFILE '/tmp/testdata.txt' INTO TABLE moo FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" (one, two, three, @vfour, five) SET four = NULLIF(@vfour,'') ;
In dieser Anweisung wird das vierte Feld („four“) in die lokale Variable @vfour eingelesen . Wenn @vfour eine leere Zeichenfolge enthält, wird das vierte Feld in der Tabelle mithilfe der NULLIF()-Funktion auf NULL gesetzt.
Wenn Sie mehrere Spalten mit potenziell leeren Feldern haben, können Sie diese alle in Variablen einlesen und verwenden mehrere SET-Anweisungen, um NULL-Werte entsprechend zu behandeln.
Das obige ist der detaillierte Inhalt vonWie lade ich MySQL-Tabellen mit NULL-Werten aus CSV-Dateien mit leeren Feldern ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!