Heim >Datenbank >MySQL-Tutorial >Wie lade ich MySQL-Tabellen mit NULL-Werten aus CSV-Dateien mit leeren Feldern ordnungsgemäß?

Wie lade ich MySQL-Tabellen mit NULL-Werten aus CSV-Dateien mit leeren Feldern ordnungsgemäß?

Barbara Streisand
Barbara StreisandOriginal
2024-12-26 12:00:19270Durchsuche

How to Properly Load MySQL Tables with NULL Values from CSV Files Containing Empty Fields?

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:

  1. Lesen Sie die leeren Felder in lokale Variablen ein.
  2. Überprüfen Sie, ob die lokalen Variablen leere Zeichenfolgen sind (entspricht NULL).
  3. Setzen Sie die tatsächlichen Tabellenfeldwerte auf NULL, wenn die lokalen Variablen sind leere Strings.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn