Données :
1|\N|"Première\ Ligne"
2|\N|"Deuxième\ Ligne"
3|100|\N
\N
représente NULL
dans MYSQL & MariaDB. J'essaie de charger les données ci-dessus en utilisant la méthode LOAD DATA LOCAL INFILE
dans une table nommée ID_OPR.
Structure de la table :
CREATE TABLE ID_OPR (
idnt decimal(4),
age decimal(3),
commentaire varchar(100)
);
Mon code ressemble à ceci :
LOAD DATA LOCAL INFILE INTO TABLE FIELDS TERMINATED BY '|' ESCAPED BY '' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n';
Le problème avec ce code est qu'il s'arrête avec une erreur Incorrect decimal value: '\\N' For column
.
Question : Comment charger ces données avec des valeurs NULL
dans la deuxième colonne décimale et sans perdre le \(Antislash)
de la troisième colonne de chaîne ?
J'essaie ceci dans MariaDB qui est similaire à Mysql dans la plupart des cas.
Mise à jour : L'erreur que j'ai mentionnée semble être un avertissement et les données sont en fait chargées dans la table. Mais le problème réside dans les données textuelles.
Par exemple : Dans le cas du troisième enregistrement ci-dessus, il est chargé tel quel en tant que \N dans la colonne de chaîne. Mais je veux que ce soit NULL.
Y a-t-il un moyen de faire reconnaître cette valeur nulle par le logiciel ? Quelque chose comme decode dans oracle ?