Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1755 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Mise à jour table MySQL : je galère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mise à jour table MySQL : je galère

n°256792
zekill
Posté le 29-11-2002 à 10:07:38  profilanswer
 

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 !

mood
Publicité
Posté le 29-11-2002 à 10:07:38  profilanswer
 

n°256803
Mara's dad
Yes I can !
Posté le 29-11-2002 à 10:30:24  profilanswer
 

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 ...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°256821
zekill
Posté le 29-11-2002 à 11:02:59  profilanswer
 

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.

n°256881
Mara's dad
Yes I can !
Posté le 29-11-2002 à 11:55:29  profilanswer
 

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 :
  1. Pour chaque produit du fichier
  2.    Tentative d'INSERT
  3.    SI ERREUR
  4.       UPDATE ... WHERE produit='MON_CODE_PRODUIT' AND modifiable=1


Message édité par Mara's dad le 29-11-2002 à 11:56:18

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°256928
zekill
Posté le 29-11-2002 à 13:16:50  profilanswer
 

Wé, je voit ce que tu veux dire, je vais essayer la premiere methode, pas la bourrin  :D  
Merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Mise à jour table MySQL : je galère

 

Sujets relatifs
Mise en page de Code (Java)[mysql] phpmyadmin veut pas marcher
pt prob de newb -> Warning: mysql_num_rows(): supplied argument is notCommande de redémarrage MySql
[PHP] Problème création table[MySql] additionner des champs de type time
[MySQL] Difference entre le type "Timestamp" et "Datetime" ??PL/SQL Recuperer le "champ" jour d'une date
récupérer un pwd dans une base MySQLtable width="100%" d'une <div>
Plus de sujets relatifs à : Mise à jour table MySQL : je galère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR