Rechercher : dans
Par :

[MySQL] Fusion de UPDATE et INSERT

Dernière réponse le 6 déc 2005 à 17:26:29 GallyNet, le 6 déc 2005 à 17:08:35 
 Signaler ce message aux modérateurs

Bien le bonjour, je voudrais savoir s'il existe un moyen de faire des UPDATE mais que lorsque l'enregistrement n'existe pas qu'il l'insert. Ou l'inverse : faire un INSERT mais que si l'enregsitrement existe, on ne fasse qu'un UPDATE.
Et ca en une seul requete ?

Parce que sinon, je suis obligé de faire 2 requetes : un SELET pour savoir si l'enregistrement existe puis le INSERT ou le UPDATE selon le resultat. Et j'ai plusieurs centaines d'enregistrements (dans le meilleur des cas) à mettre a jour/créer. Et faire cela en une seule requete me permettré de gagner un max de temps.

Merci d'avance pour les réponses.

1

crabs, le 6 déc 2005 à 17:24:32
  • +11

Salut,
Dans la doc de MySQL tu trouves :

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
    -> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

http://dev.mysql.com/doc/refman/4.1/en/insert.html

Est-ce que ça peut répondre à tes attentes ?
A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

2

 GallyNet, le 6 déc 2005 à 17:26:29
  • +1

Je l'avais psa vu, merci beaucoup c'est exactement ce que je voulais.

Répondre à GallyNet