Erreur "UNIQUE constraint failed" avec fichier csv
Résolu
titusIII
Messages postés
100
Statut
Membre
-
titusIII Messages postés 100 Statut Membre -
titusIII Messages postés 100 Statut Membre -
Bonjour tout le monde,
Je suis en train de ranger des quantités massives de données (horaires de bus) dans des bases SQL.
Je développe un programme en C# qui appelle le petit utilitaire Sqlite3 pour gérer la base de donnée.
Les données que je dois traiter sont rangée dans des fichiers txt et sont déja sous la norme csv, j'ajoute juste l'ID au début de chaque ligne en l'incrémentant avant balancer le fichier csv dans la base.
Seulement j'ai une montagne d'erreurs pour les gros fichiers (plus de 500 000 lignes). L'erreur est la même partout :
trips étant le nom de ma table.
J'ai essayé pas mal de truc du genre :
- supprimer les " qui entourent mes données
- bricoler avec l'ID
- menacer ma base de donnée avec un couteau ...
Voici un morceau d'un de mes fichiers csv pour ma table trips :
Merci pour votre aide,
Titus.
Je suis en train de ranger des quantités massives de données (horaires de bus) dans des bases SQL.
Je développe un programme en C# qui appelle le petit utilitaire Sqlite3 pour gérer la base de donnée.
Les données que je dois traiter sont rangée dans des fichiers txt et sont déja sous la norme csv, j'ajoute juste l'ID au début de chaque ligne en l'incrémentant avant balancer le fichier csv dans la base.
Seulement j'ai une montagne d'erreurs pour les gros fichiers (plus de 500 000 lignes). L'erreur est la même partout :
INSERT failed: UNIQUE constraint failed: trips.ID
trips étant le nom de ma table.
J'ai essayé pas mal de truc du genre :
- supprimer les " qui entourent mes données
- bricoler avec l'ID
- menacer ma base de donnée avec un couteau ...
Voici un morceau d'un de mes fichiers csv pour ma table trips :
0,"1","20","0006","6 > Saint-Jacques Morinais","0","1012124"
1,"10","23","0006","6 > Cesson-Sevigne Base de Loisirs","1","1012876"
2,"100","23","0006","6 > Cesson-Sevigne Base de Loisirs","1","1012869"
3,"1000","23","0011","11 > ZI Ouest","0","1012731"
4,"10000","23","0002","2 > Grand Quartier","1","1012675"
5,"10001","25","0002","2 > Grand Quartier","1","1054029"
6,"10002","27","0002","2 > Grand Quartier","1","1045931"
7,"10003","20","0002","2 > Grand Quartier","1","1011935"
8,"10004","21","0002","2 > Grand Quartier","1","1004867"
9,"10005","22","0002","2 > Grand Quartier","1","1012169"
10,"10006","23","0002","2 > Grand Quartier","1","1012679"
Merci pour votre aide,
Titus.
A voir également:
- Sqlite3.integrityerror: unique constraint failed:
- Vue unique whatsapp désactiver - Accueil - WhatsApp
- Boot failed - Guide
- Io1 initialization failed - Forum Windows 10
- Efi pxe network boot failed lenovo ✓ - Forum Windows 10
- Windows failed to start - Forum Windows 7
3 réponses
Ah!
Une partie du problème est résolu. j'avais mal écrit le mot "trips" quand je demandai le DROP de ma table avant une mise à jour.
J'ai toujours les erreurs mais les données sont toutes là. (Apres rapide vérification, je vais pas me taper les 700 000 lignes)
Je suis un amateur du code "no warning" j'aimerai bien résoudre ce problème quand même!
Une partie du problème est résolu. j'avais mal écrit le mot "trips" quand je demandai le DROP de ma table avant une mise à jour.
J'ai toujours les erreurs mais les données sont toutes là. (Apres rapide vérification, je vais pas me taper les 700 000 lignes)
Je suis un amateur du code "no warning" j'aimerai bien résoudre ce problème quand même!
Bonjour
Tu n'as pas moyen de faire afficher plus précisément quelles lignes provoquent l'erreur, histoire de les regarder de plus près ?
Sinon, pourquoi mettre toi-même l'ID ? Sqlite3 fournit un champ auto-incrémenté, à quoi bon en ajouter un ? Voir https://sqlite.org/autoinc.html
Tu n'as pas moyen de faire afficher plus précisément quelles lignes provoquent l'erreur, histoire de les regarder de plus près ?
Sinon, pourquoi mettre toi-même l'ID ? Sqlite3 fournit un champ auto-incrémenté, à quoi bon en ajouter un ? Voir https://sqlite.org/autoinc.html
Je viens de refaire de test, j'ai plus aucune erreur...
J'ai pourtant pas modifié mon code depuis.
La seule chose qui a pu provoquer ça c'est les histoires de "lecture seule" que windows avait appliqué partout. Que j'ai enlevé donc!
Je vois pas d'autre explication!
Merci quand même pour ton attention!
J'ai pas fini, j'ai juste fait la partie "rangement" qui range les données dans une bdd (coté serveur)
Je viens d'attaquer le code du client, donc calculateur et tout. Je risque d'avoir pas mal de problèmes encore!
A bientot et merci!
J'ai pourtant pas modifié mon code depuis.
La seule chose qui a pu provoquer ça c'est les histoires de "lecture seule" que windows avait appliqué partout. Que j'ai enlevé donc!
Je vois pas d'autre explication!
Merci quand même pour ton attention!
J'ai pas fini, j'ai juste fait la partie "rangement" qui range les données dans une bdd (coté serveur)
Je viens d'attaquer le code du client, donc calculateur et tout. Je risque d'avoir pas mal de problèmes encore!
A bientot et merci!