Mise à jour table MySQL : je galère - PHP - Programmation
Marsh Posté le 29-11-2002 à 10:30:24
Y resemble à quoi ton fichier texte ?
C'est quoi la structure de ta table.
Sinon l'algo de base c'est un truc du genre.
Pour chaque ligne du fichier
Rechercher dans la table si l'enreg existe (Select ...)
S'il existe et qu'il est modifiable (champ modifiable =1 )
UPDATE MA_TABLE SET... WHERE...
Sinon
INSERT INTO MA_TABLE ...
Marsh Posté le 29-11-2002 à 11:02:59
Mon fichier texte est oragnisé de la sorte :
1 enregistrement par ligne, champs séparés par une tabulation.
La structure de ma table ? ben le premier champs qui est le code du produit est en "unique".
c'tout !
Je vais essayer comme tu me dit mais je pensais que c'etait faisable plus facilment avec update à la place de insert.
Marsh Posté le 29-11-2002 à 11:55:29
Ben le UPDATE va pas te faire d'insert en cas d'enreg inexistant !
Donc t'es bien obligé de faire un select pour savoir si le produit existe.
Donc t'en profite pour récupérer le champ "modifiable" pour ne faire les updates que sur les produits modifiables.
Sinon, tu peux faire plus BOURRIN :
Code :
|
Marsh Posté le 29-11-2002 à 13:16:50
Wé, je voit ce que tu veux dire, je vais essayer la premiere methode, pas la bourrin
Merci encore
Marsh Posté le 29-11-2002 à 10:07:38
J'ai une table qui s'appele produits.
Les données sont inserées à partir d'un fichier texte à l'aide
de la commande INSERT.
Jusque là, pas de probleme.
J'ai un champs dans cette table que j'ai nommé "modifiable" qui
a par defaut la valeur "1".
Je met à la main cette valeur à "0" pour les enregistrements que je ne veux pas modifer lors des mises à jour.
Je veux donc à chaque voit que je dispose d'un nouveau fichier texte, mettre à jour cette table.
_ Les enregistrements dont le champs "modifiable" à la valeur "0"
ne doivent pas etre modifiés
_ les autres doivent l'etre si besoin
_ les nouveaux enregistrements doivent etre ajoutés à la table.
Si qq peux m'aiguiller sur la logique qu'il faut adopter pour faire ça car j'ai essayer avec REPLACE et UPDATE et ca foire !