MySQL => insert intelligent

MySQL => insert intelligent - SQL/NoSQL - Programmation

Marsh Posté le 10-04-2008 à 11:02:00    

Bonjour,
 
contexte :
j'ai un script (vb.net) qui envoi une liste d'infos de PC vers une table (MySQL) tous les matins
 
INSERT INTO test02 (id,nomMachine,IP,reponsePing,versionDll)
VALUES ('','" & tabNom(i) & "','" & tabIP(i) & "','" & tabReponse(i) & "','" & tabVersion(i) & "')
 
- il faudrait que si une machine n'a pas changée depuis hier, aucune occurence soit rajoutée dans la table (en sachant que l'id est en auto increment donc il faut comparer seulement le reste des infos)
 
- si il y a changement la ligne se rajoute normalement
 
le plus dur est de gérer ceci :
- le pc change (on passe de la version 1 à 2) on ajoute une ligne dans la table
- le pc change (on repasse à la version 1) on ajoute une ligne afin de sauvegarder l'historique
 
il faut donc comparer avant d'ajouter une ligne la version du jour J avec celle du jour J-1 mais comment peut on faire en MySQL? est ce possible? ou faut il que je le code en vb.net?
 
merci d'avance j'espère que vous aurez au moins compris mon interrogation !!   :??:  
 
Configuration: Windows XP
mysql 5.0
framework 2.0

Reply

Marsh Posté le 10-04-2008 à 11:02:00   

Reply

Marsh Posté le 10-04-2008 à 11:02:39    

euh oui, quelle est la question?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 10-04-2008 à 11:09:07    

est ce que c'est possible de le faire avec un insert, delete ou update? si oui si vous pouviez me donner un exemple, merci
 
 
cf => comment peut on faire en MySQL? est ce possible? ou faut il que je le code en vb.net?  

Reply

Marsh Posté le 10-04-2008 à 11:24:20    

Le plus simple est de le faire en VB .net : récupérer les infos qui sont déjà dans la base, et générer à-partir de là les insert, update et delete qui vont bien.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 10-04-2008 à 11:33:02    

ok ben je voulais poser la question avant de commencer à coder car si je peux rendre mon code plus simple c'était mieux, merci quand même..

Reply

Marsh Posté le 10-04-2008 à 11:35:54    

manik971 a écrit :

ok ben je voulais poser la question avant de commencer à coder car si je peux rendre mon code plus simple c'était mieux, merci quand même..


Tu peux p-e simplifier en faisant un delete, des updates, puis un insert, mais faut jouer avec la clause where et être sûr de pas se planter...[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 10-04-2008 à 14:20:42    

je comprends pas ce qui est faux dans cette requête
 

Code :
  1. INSERT INTO test02 (id,nomMachine,IP,reponsePing,versionDll)
  2. VALUES ('','BIPC700','10.7.3.18','true','2.0.0')
  3. IF NOT EXISTS (SELECT * from test02 where nomMachine='BIPC700' and IP='10.7.3.18' and reponsePing='true' and versionDll='2.0.0')


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed