Bonjour à tous,
Un serveur maître exporte des données dans un fichier qu'il envoi à mon serveur WEB pour que je les mette à jour.
Ma première question consiste à savoir quelle est la terminaison du verbe mettre quand je le conjugue au présent subjonctif à la première personne (que je les met... à jour)
Ma deuxième question concerne la détection des entrées supprimées du fichier.
Je vois pour ma part deux approches :
- Ajouter une colonne supplémentaire dans ma table qui contiendra un drapeau de suppression.
en parcourant le fichier, si je trouve l'entreprise dans ma table je baisse le drapeau et je fais les traitements nécessaires pour la détection d'un ajout ou d'une mise à jour. Je fais ensuite une deuxième passe sur ma table et je supprime toutes les entreprises qui ont le drapeau levé.
Il y a un truc qui me gêne dans cette approche c'est que je rajoute une colonne dans ma table qui n'a rien à voir avec mes données donc mon modèle est pourri.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM Table WHERE Suppression = 1
- Autre solution, passer par une table de mouvement. Ça consiste à avoir une 2 table identique à ma table originel sauf qu'elle a la fameuse colonne en plus. Cette fois je m'en fou parce que cette table n'est pas une table de données et elle ne fait pas partie de mon modèle. Elle sert juste au traitement. Bref, à chaque fois que je reçois le fichier, je supprime et recrée (ou tronque et rempli) la table mouvement à partir de la table originelle, je décide que la 3 ième colonne a le drapeau levé par défaut, et puis même histoire que la solution 1.
Ce qui me gêne dans cette solution c'est de devoir écraser la table à chaque fois. Je ne sais pas si MySQL fait ça rapidement ou pas. D'ailleurs, qu'est-ce qui est préférable : supprimer et copier ou tronquer et remplir ?
Merci pour vous avis éclairés.
Partager