Salut 
Bon je fais comme si je découvrais, pas pour faire l'âne là je n'ai pas besoin de me forcer, mais parce que j'interviens sur plusieurs sujets et que ma mémoire se réduit à une peau de chagrin.
Content-type: text/htmlnnDBD::mysql::st execute failed: Duplicate entry '172.17. 14.17' for key 'PRIMARY' at F:/export_data_sql_V7.pl line 297.
Le message est clair :
Sur la table sur laquelle tu fais un INSERT il y a déjà une ligne dans la table qui à pour valeur de PRIMARY KEY '172.17. 14.17'
Lorsque dans le schéma d'une base de donnée on déclare une colonne comme étant la CLÉ PRIMAIRE de la table, cela veut dire que l'information contenue dans cette colonne permettra d'accéder à UNE et UNE SEULE ligne de la table.
A la CLÉ PRIMAIRE est associé un INDEX qui veille au grain, une sorte de gendarme qui interdit les doublons 
Si au moment de l'INSERT le SGBG ( Le Système de Gestion de la Base de Donnée) détecte qu'il existe déjà dans la table une ligne avec cette CLE ici : "172.17. 14.17" il refuse tout bonnement !!!
Car s'il acceptait, un SELECT avec par exemple '172.17. 14.17' comme clé, il ramènerait plusieurs lignes de la table...
Donc les données de ton fichier en entrée ne sont pas TOUTES compatibles
- Soit c'est une erreur grave (insupportable pour l'avenir des traitements réalisés sur la base) et dès qu'une telle erreur se produit tu fais un print de la requête ($query) pour mieux comprendre... et un exit du programme
- Soit tu considères que l'information : la ligne qui existe déjà dans la table, avec par exemple ''172.17. 14.17", est convenable et SUFFISANTE, et tu passes au traitement de l’enregistrement suivant...
Personne ne pourra prendre la décision à ta place.
Il y a sur devellopez un forum dédié à MySQL et certainement plein de tutos pour démarrer et comprendre.
Sauf si ce que tu exposes ici n'est qu'un besoin spécifique et limité, je te conseille d'acquérir un minimum de connaissance sur les bases de données...
Partager