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

  FORUM HardWare.fr
  Programmation

  [MySQL] historiser mes enregistrements ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] historiser mes enregistrements ?

n°121769
GMIGA
Posté le 05-04-2002 à 11:46:13  profilanswer
 

Bonjour ,
 
voila mon soucis  
 
ma table  
 
Numero Ref  | article | prix | ID  
12345           x        A1     1
 
Quand je modifie un prix  jaimerais que l enregistrement soit fait sur une nouvelle ID et que je garde l ancien prix dans ma base .  de maniere a avoir  
 
Numero Ref  | article | prix | ID  
12345           x        A1     1
12345           x        A2     2
 
L ID est en autoincrement . Il est imperatif pour moi de garder les traces de mes aciens afin de pouvoir realiser des graph par exemple  
 
Qq un a une idee sur la facon dont je dois proceder ?  
 
Car actuellement une update du prix efface l ancien .  
 
Merci d avance
 
miga

 

[jfdsdjhfuetppo]--Message édité par GMIGA--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 05-04-2002 à 11:46:13  profilanswer
 

n°121774
Erwan_
Posté le 05-04-2002 à 11:51:46  profilanswer
 

tu peu creer une nell table "historique"
avec ces champs
 

Code :
  1. -----------------------------------------------------
  2. |#ID      | date | Numero Ref  | article | prix | ID| 
  3. -----------------------------------------------------
  4. |         |      |             |         |      |   |
  5. -----------------------------------------------------

 

[jfdsdjhfuetppo]--Message édité par erwan_--[/jfdsdjhfuetppo]

n°121780
GMIGA
Posté le 05-04-2002 à 11:56:36  profilanswer
 

Merci pour ta reponse ,
 
Neanmois je ne desire pas une 2 eme table j aimerais que mes enregistrement coexistent au sein de la meme table et que lors de la modification d une reference elle prennent un nouvel ID ;)

n°121783
HappyHarry
Posté le 05-04-2002 à 12:00:10  profilanswer
 

je vois pas l'objet de la question ... au lieu de faire un update tu inseres une nouvelle ligne

n°121786
Mara's dad
Yes I can !
Posté le 05-04-2002 à 12:01:49  profilanswer
 

Fait un insert au lieu d'un update si la ref existe déjà.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°121787
Mara's dad
Yes I can !
Posté le 05-04-2002 à 12:02:17  profilanswer
 

Grilled ! :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°121788
Erwan_
Posté le 05-04-2002 à 12:02:57  profilanswer
 

GMIGA a écrit a écrit :

Merci pour ta reponse ,
 
Neanmois je ne desire pas une 2 eme table j aimerais que mes enregistrement coexistent au sein de la meme table et que lors de la modification d une reference elle prennent un nouvel ID ;)  




 
hé,hé le pb, c'est que si tu fé ca, ca veut dire que pour un même Numero Ref, tu peux avoir plusieurs prix :-/
 
Une solution pur récupérer le dernier des prix sera :
selectionner tout d'abord les enregistrement dont le n° ref est celui recherché , trié sur l'Id en ordre décroissant et de recup' le premier  :pt1cable:

 

[jfdsdjhfuetppo]--Message édité par erwan_--[/jfdsdjhfuetppo]

n°121793
GMIGA
Posté le 05-04-2002 à 12:09:54  profilanswer
 

Tout d abord merci pr vos reponses ,  
 
Effectivement je vais avoire plusieurs references avec des prix differents , mais cela ne me gene guere il suffit que j adapte ma query pour pour recuper la derniere ID en date en fonction de la reference . ( c est ce que disait Erwann ,) ) .
 
Par contre mon insert pose soucis , qd je veux faire un insert il n incremente pas l ID il me dit "Duplicate entry '1' for key 1" .
ID est ma clef primaire.  
Il y a une commande pr contourner cela ?  
 
Merci d avance

n°121797
HappyHarry
Posté le 05-04-2002 à 12:12:38  profilanswer
 

insert into tatable(ref,article,prix) values (X,Y,Z) ca marche pas ??

n°121850
GMIGA
Posté le 05-04-2002 à 13:51:59  profilanswer
 

Merci à tous pour votre aide,  
 
J arrive a faire coexister mes ref av mes prix differents et j ai une nouvelle ID ;) .  
Il me reste a determiner la query pour afficher le numero de ref desiré avec la derniere ID en date ;)  
 
Si qqun a une idee pour la query . j ai une ptite idee mais bon ;) rien ne vaut plusieurs avis.  
 
Merci a vous tous .  
 
miga

mood
Publicité
Posté le 05-04-2002 à 13:51:59  profilanswer
 

n°121860
HappyHarry
Posté le 05-04-2002 à 14:08:49  profilanswer
 

ben qqchose comme "select * from tatable where id = (select max(id) from tatable where ref='cequetucherches';)"

n°121865
Erwan_
Posté le 05-04-2002 à 14:21:02  profilanswer
 

hmmm si la table à 100000 enregistrement ca rique de bouffer les ressources ca !
 
Moi j'aurais fait un truc du genre
 
create temporary table TEMP
(Select * form TATABLE where ref=TAREF order by DATE Desc);
 
puis un autre select pour recup' le premier enregistrement de la table TEMP
 
Bon  c'est pas la syntaxe exact mais faut chercher aussi un peu, ya GOOGLE ;-)
 
http://www.google.fr/images/res0.gifhttp://www.google.fr/images/res1.gifhttp://www.google.fr/images/res2.gif

n°121867
HappyHarry
Posté le 05-04-2002 à 14:22:30  profilanswer
 

erwan_ a écrit a écrit :

hmmm si la table à 100000 enregistrement ca rique de bouffer les ressources ca !
 
Moi j'aurais fait un truc du genre
 
create temporary table TEMP
(Select * form TATABLE where ref=TAREF order by DATE Desc);
 
puis un autre select pour recup' le premier enregistrement de la table TEMP
 
Bon  c'est pas la syntaxe exact mais faut chercher aussi un peu, ya GOOGLE ;-)
 
http://www.google.fr/images/res0.gifhttp://www.google.fr/images/res1.gifhttp://www.google.fr/images/res2.gif  




 
si je ne m'abuse il n'a jamais parlé de dates ...

n°121870
GMIGA
Posté le 05-04-2002 à 14:24:09  profilanswer
 

oui je fais mumuse avec le select max ;)  
 
Merci a vous pour vos reponses ;)  
 
google ah oui ;) mais comment se connecte t on ? ;)  
 
 
Un grand merci à tous ;)


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

  [MySQL] historiser mes enregistrements ?

 

Sujets relatifs
erreur au lancement de mysqlmysql sur free, 2 questions
PHP + MYSQL >> ADMINISTRATION GRAPHIQUE[mysql/phpmyadmin] Next Autoindex = 61 ? (champs auto-incrementé)
[PHP - MySQL][VC++] Exécuter des requetes sur une base MySql
apache + php + mysqlmysql: auto_increment
[NEWBIE] Comment interdire l'acces au rep. MYSQL...[MySQL] Optimisation
Plus de sujets relatifs à : [MySQL] historiser mes enregistrements ?


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