FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » MySQL => insert intelligent
 

MySQL => insert intelligent

Il y a 65 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici



Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : MySQL => insert intelligent
 
Plus d'informations

Bonjour,

contexte :
j'ai un script (vb.net) qui envoi une liste d'infos de PC vers une table (MySQL) tous les matins

Code :
  1. INSERT INTO test02 (id,nomMachine,IP,reponsePing,versionDll)
  2. 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


Message édité par manik971 le 10-04-2008 à 11:14:43

---------------
~ Google est ton ami pose lui les bonnes questions et il saura te répondre ~

zeb
Profil : Modérateur libre

Modo: N'hésite pas à utiliser les balises [code] et [fixed] pour présenter tes requêtes. :o

 

Si, misseu, même pou 1 ligne.

 


:jap:


Message édité par zeb le 10-04-2008 à 11:42:36

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
zeb
Profil : Modérateur libre

Tu connais le Java, tu te mets au VB.
Apprends aussi le SQL. ;)

 

Regarde du côté de EXISTS.

 

EDIT: Je dirais même plus du côté de

INSERT INTO table VALUES ( <valeurs> )
WHERE NOT EXISTS (SELECT .. FROM table WHERE <conditions sur <valeurs>> )


Message édité par zeb le 10-04-2008 à 11:16:10

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

et toi tu vis sur ce forum, il y a que toi qui me répond, je pensais pas que tu viendrais du côté SQL..

soit tu connais un peu tout(ou même très bien) soit t'es champion de recherche google... :)

MERCI


---------------
~ Google est ton ami pose lui les bonnes questions et il saura te répondre ~
Plus d'informations

j'ai une erreur c'est sur le where not exists mais je sais pas où

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




---------------
~ Google est ton ami pose lui les bonnes questions et il saura te répondre ~
zeb
Profil : Modérateur libre

Je suis un champion de google, je te l'accorde.
Mais le SQL n'a plus beaucoup de secrets pour moi. :sol:

Mes compétences sur PPC/TH.fr : UNIX/Linux, C/C++, SQL, VB/VBA Excel.
Mes grosses lacunes : HTML/CSS, Java, .NET
Alors forcément, si tu tombes en pleins sur mes domaines de prédilections...

Je suis très présent en tant que modérateur, forcément. Alors tant qu'à faire, j'en profite pour aider ou pour troller. J'aime autant l'un que l'autre :D


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

tu sais si c'est possible de faire ça

Code :
  1. SELECT * FROM(
  2.               SELECT * FROM test02
  3.               WHERE nomMachine='bipc700'
  4.               ORDER BY date desc
  5.               LIMIT 1
  6. )
  7. WHERE nomMachine='bipc700' AND IP='11.0.2.18' AND reponsePing='true' AND versionDll='2.0.0'


le select entre parenthèses me permet de sélectionner le dernier enregistrement qui a était fait sur la machine voulu
et après je le compare à celui que je veux insérer

comme ça s'il trouve rien ça veut dire que le nouvel enregistrement est différent donc je vais l'insérer

mais cette syntaxe ne marche pas, séparemment elle marche mais l'imbrication foire :cry:

HELP ME PLZ :pt1cable:


---------------
~ Google est ton ami pose lui les bonnes questions et il saura te répondre ~
zeb
Profil : Modérateur libre

Mmmmm.... Je me souviens qu'autrefois on disais du mal de MySQL parce qu'il n'était pas possible d'imbriquer des SELECTs. Est-ce toujours vrai ?

 

En passant, ta requête est plutôt bancale. Sauf si ton premier SELECT n'est qu'un test en mode DEBUG qui sera remplacé par un INSERT.

 

Et ça : http://dev.mysql.com/doc/refman/5. [...] eries.html


Message édité par zeb le 10-04-2008 à 17:15:55

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » MySQL => insert intelligent

Aller à :
 

Annonces Google
Publicité
Offres partenaires
Actualités relatives

Mises à jour payante pour MySQL

Publié le 18 July 2006

Alors que la version 5.0 de SGBD vient de sortir MySQL annonce ne plus vouloir proposer des mises à jour gratuites pour les versions antérieures, dès le début du mois d’août, ce qui se comprend puisqu’il lui est préférable de concentrer ses forces sur le Lire la suite

HP vous aide à utiliser MySQL

Publié le 27 April 2006

MySQL vient de se trouver un nouveau partenaire en la personne de HP qui devrait proposer, dès juin, des abonnements MySQL Network et devrait même offrir à ses clients un support technique incluant conseil et solutions pour l’int Lire la suite

MySql aura son forum français

Publié le 06 September 2005

MySQL France vient de lancer un forum spécialement dédié aux développeurs de la communauté Open Source francophone se servant de MySQL. Ce forum, mis en place sur le portail iFRANCE.com, a été d&eacu Lire la suite

MySQL passe en version 4, notre forum suit

Publié le 19 March 2003

MySQL, le célèbre système de base de données, vient tout juste de passer en version 4.0.12 finale, marquant ainsi le pas du 3.x vers le 4.x. Les nouveautés sont très nombreuses mais pour résumer, on peut remarquer : Amélioration du support de l'Inn Lire la suite

Les derniers tests

Que choisir ? Home Cinema 5.1 ou projecteur de son ?

Publié le 25 September 2008

Faut-il craquer pour un ensemble 5.1 ou pour une barre de son ? Découvrez les forces et faiblesses comparées de chaque système. Lire la suite

Intel Core i7 (Nehalem) : une architecture signée AMD ?

Publié le 25 September 2008

Avec ses nouveaux processeurs Core i7, Intel fait évoluer les Core 2 en reprenant leur architecture, mais en lui rajoutant des technologies dont la plupart semblent avoir leur équivalent direct chez AMD. Impression ou réalité ? Lire la suite

Test du Nokia N96 : la vie sans écran tactile

Publié le 24 September 2008

Un téléphone haut de gamme peut il échapper à l'écran tactile ? Nokia a tenté le pari avec le N96. Lire la suite

Les nouveaux disques durs 1 To

Publié le 22 September 2008

Un an et demi après l'introduction du premier disque dur 1 To, les prix ont beaucoup diminué et de nouveaux modèles ont été lancés. Mais comment se comportent-ils entre eux et par rapport aux anciens ? Réponse dans ce comparatif. Lire la suite