Requete SQL, comment ne pas inserer 2 fois la meme chose ?
IceFinger
Messages postés24Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 7 août 2006
-
2 août 2006 à 15:31
IceFinger
Messages postés24Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 7 août 2006
-
7 août 2006 à 22:36
Bonjour a tous
Voila mon probleme, je dois inserer des donnees
venant d'un datafile dans une base de donnee, jusque la aucun
problemes. Seulement le programme doit etre execute toutes les heures,
car le datafile est regulierement mis a jour. Comment ne pas copier
deux fois la meme ligne dans la DB sans avoir a faire un test dans le
programme c++ (Car il y a jusqu'a 40000 lignes et 49 colonnes), mais
plutot dans la requete (si c'est possible) ?
Merci d'avance
A voir également:
Requete SQL, comment ne pas inserer 2 fois la meme chose ?
cs_Matt67
Messages postés549Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 6 mars 20103 7 août 2006 à 21:58
Bonsoir,
N'y a t'il y a un champs dans tes 49 qui peut de servir de clef primaire (ou une clef primaire sur plusieurs champs) du style un gdh, un id unique...
Si tu peux modifier ton fichier data, tu peux soit supprimer la ligne que tu viens d'inserer, soit la deplacer dans un autre fichier (donc deux fichiers), soit par exemple, mettre un caractere d'identification en début de ligne que tu as insere.
Voila, sinon il faut que tu testes tout tes champs.
IceFinger
Messages postés24Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 7 août 2006 7 août 2006 à 22:36
Merci pour ta reponse, mais je ne peux pas toucher aux
fichiers, et malheuresement meme le timestmap se repete 7 fois, car il
y a 7 "magnet" pour un temps donne.
Voila ce que je fais pour le moment dans le programme :
Je verifie si le fichier existe
Si je peux le lire et interpreter le premier timestamp
j'efface tout ce qui est superieur au premier timestamp
je reecris
De cette maniere je n'ai qu'une requete (deja une dizaines de secondes)