Hello !

J'ai des données assez volumineuses à charger dans une table d'une base de données MySql.

Environ 400.000 enregistrements et ceci, quotidiennement.

Pour gagner du temps, j'ai choisi de charger ces données en les stockant dans un fichier csv, puis en demandant à MySql de les charger via la méthode LOAD DATA LOCAL INFILE.

En ligne de commande depuis la console de MySql, j'obtiens ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
mysql>LOAD DATA LOCAL INFILE 'essai.csv' INTO TABLE essai FIELDS TERMINATED BY "\t" LINES TERMINATED BY "\n";
mysql>test.essai: Records: 404416  Deleted: 0  Skipped: 0  Warnings: 1
Ce qui m'intéresse ici, c'est de récupérer les infos de la ligne retournée par MySql avec les infos deleted, skipped et warnings.

Dans mon code Perl, je ne sais pas comment stocker cette info lorsque j'exécute la commande LOAD DATA LOCAL INFILE.

Je ne vois pas l'info apparaitre dans la console Linux, ni dans le log amoureusement géré par Log4Perl.

J'ai regardé du côté de DBI_TRACE mais même en passant la variable d'environnement à la valeur MAX de 15, je ne vois rien.

Et du coup, c'est pas pratique du tout !

Quelqu'un aurait une idée ?