2010-09-16 32 views
0

J'imprime donc un fichier 80000+ lignes .cvs dans une base de données MySQL, en utilisant Importer CVS via LOAD DATA dans phpMyAdmin, et ça semble fonctionner, il n'y a pas de messages d'erreur. Problème: après l'importation, toutes les lignes de la table, commençant par la ligne 24002, ont le même numéro dans un de mes champs de base de données, et ce numéro n'existe même pas dans le fichier .cvs que j'importe.Certaines données sont modifiées sans raison apparente lors de l'importation de .cvs sur une base de données MySQL, une idée?

Prenez cet exemple:

+-----------+-----------+-----------+ 
|id   |num 1  |num 2  | 
+-----------+-----------+-----------+ 
|1   |03040304 |22222  | 
|2   |03040305 |22223  | 
|3   |03040306 |22224  | 
|...  |...  |...  | 
|24001  |03064304 |46222  | 
|24002  |21777777 |46223  | <- 21777777 doesn't exist in my .cvs file 
|24003  |21777777 |46224  | 
|...  |...  |...  | 
+-----------+-----------+-----------+ 

J'ai essayé différentes choses, mais rien aidé:

  • à partir de l'importation à la ligne 24003
  • enlever les lignes 24001, 24002 du. fichier cvs
  • en supprimant les premières lignes 24002 du fichier .cvs
  • en important le fichier .cvs f ile sans données de charge

Ceci est un exemple de ligne du fichier .csv:

"SOME NAME";"18/10/2004";"8250";"2157002001";"239423";"Done";"Name SURNAME" 

Il n'y a pas de caractères spéciaux impliqués, seulement a-z, A-Z et 0-9.

Je n'ai absolument aucune idée d'où cette erreur pourrait provenir, des idées?

Merci à l'avance

+0

Juste pour clarifier: est-ce un fichier CSV (valeurs séparées par des virgules)? Si oui, pouvez-vous poster certaines des lignes du fichier qui causent des problèmes. – Jaydee

+0

@Jaydee: Oui, c'est un fichier de valeurs séparées par des virgules, les valeurs sont séparées par ';' et entouré de "". Voici un exemple des lignes qui ont un problème: "QUELQUE NOM"; "18/10/2004"; "8250"; "2157002001"; "239423"; "FAIT"; "QUELQUE NOM" aucun caractère spécial n'est impliqué, et ces lignes sont similaires aux autres lignes sans problème, il n'y a pas de différence essentielle, seulement les nombres et les noms. – Alex

+0

Que se passe-t-il si vous collez l'enregistrement du problème dans son propre fichier et essayez d'importer ce fichier à enregistrement unique? – Quassnoi

Répondre

0

Quelle est la définition du champ « num 1 » dans la base de données? Est-ce un int parce que la valeur maximale d'un int est de 2 147 483 647, ce qui est inférieur à 2 157 002 001.

+0

Oh, oui c'est tout! "num 1" a été mis en entier, ne savait pas qu'il y avait une telle limite. Et oui, le "numéro de problème" est 2147483647. Aurait dû le dire dans la question ... Merci! – Alex