Bonjour,
Je rencontre une problème assez cocasse et je ne trouve pas de solution plossible .
Je m'explique :
J'ai un base test PHPMyadmin dans la quelle je viens alimenter une table de 60 colonnes. Il y a 2 types de formats , du texte et du numérique selon les colonnes. Il a y bien entendu une clef primaire qui est un numéro automatique. Ce numéro s'incrémente au fur et à mesure de l'alimentation des lignes.
Sauf que j'en ai découverte une bien bonne en contrôlant les données :
L'incrémenteur dérappe et me gonfle le compteur .
Supposons que je pousse une fichier de données de 100 000 lignes. J'aurai un compteur de 1 à 90 000 , rien de 90 001 à 100 000 puis une reprise de 100 001 à 110 000 . C'est comme ci des lignes disparaissaient ou bien qu'il y avait des lignes fantomes.
Requête SQL que j'utilise pour faire mon import de données :
Code MYSQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LOAD DATA INFILE 'C:\mondossier\monfichier.csv' replace INTO TABLE matable FIELDS TERMINATED BY ';' ;
J'ai controlé , j'ai:
- aucune perte de données car je retrouve bien toutes les lignes dans la base.
- le compteur augmente de façon aleatoire tout seul, quand je vais dans mes BDD >> ma base >> ma table >> opération >> je contrôle le chiffre afin de m'assurer de la position du compteur qui est 1 fois sur 2 plus loin que le nombre de ligne réelle de la base. (exemple 100 000 ligne en base , 110 000 pour le compteur automatique).
- aucune ligne vide dans mes fichiers txt ou csv que je pousse dans la table.
La "trou" dans le comptage est complétement aléatoire , défois c'est 10 lignes pour un gros fichier , comme cela peut être 4000 à 5000 lignes pour un fichier ridicule de 10 lignes.
Pour information j'alimente ma table via des fichiers CSV ou txt par un .bat qui execute un qbquery mysql.
Merci de m'aiguiller.![]()
Partager