Maison >base de données >tutoriel mysql >Comment charger correctement les valeurs NULL des fichiers CSV dans les tables MySQL ?

Comment charger correctement les valeurs NULL des fichiers CSV dans les tables MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-21 14:42:091054parcourir

How to Properly Load NULL Values from CSV Files into MySQL Tables?

MySQL : Chargement de valeurs NULL à partir de données CSV

Défi :

Les fichiers de données CSV contiennent souvent des champs vides, qui peuvent être problématique lors de leur chargement dans des tables MySQL définies avec des colonnes NULLABLE. Par défaut, MySQL attribue zéro (0) aux champs vides, même lorsque la colonne par défaut est NULL. Cela peut prêter à confusion lorsque vous tentez de faire la distinction entre les valeurs NULL et zéro.

Solution :

Pour garantir que les champs vides sont interprétés comme des valeurs NULL lors du chargement des données, considérez en utilisant les méthodes suivantes :

  1. Utilisez NULLIF() Fonction :

Modifiez l'instruction LOAD DATA INFILE pour lire les champs vides dans une variable locale (@vfour), puis définissez la valeur réelle du champ sur NULL si la variable locale est vide.

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,'')
;

Cela garantit que les champs vides du fichier CSV sont interprétés comme NULL dans MySQL table.

  1. Lire toutes les variables dans les variables locales :

Si tous les champs du fichier CSV peuvent être potentiellement vides, utilisez plusieurs instructions SET pour attribuer des valeurs NULL aux champs vides.

LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(@vone, @vtwo, @vthree, @vfour, @vfive)
SET
one = NULLIF(@vone,''),
two = NULLIF(@vtwo,''),
three = NULLIF(@vthree,''),
four = NULLIF(@vfour,'')
;

Cette approche permet une gestion explicite des champs vides et garantit qu'ils sont interprétés comme NULL valeurs.

En utilisant ces méthodes, vous pouvez charger efficacement des valeurs NULL à partir de données CSV dans des tables MySQL, résolvant ainsi le problème de l'interprétation erronée des champs vides comme valeurs nulles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn