Bonjour à tous,
Je fais face à un problème tout c*n (j'en suis certaine), mais que j'arrive pas à résoudre :
J'ai une table toute simple (appelons-là "table") qui contient 3 champs :
- id
- envoi
- réception.
Ce sont tous les 3 des int, id est un identifiant chiffré commun à moults tables et la primary key ici.
Je cherche à updater la table, soit avec un insert; soit avec un update si la clé existe. Jusque là je sais faire. A part que j'ai à faire avec des valeurs différentes sur mes "values".
La requête sans "on duplicate key" ressemble à ça (les $... sont des variables issues du php):
A l'heure actuelle, j'ai une solution qui marche, mais avec 2 requêtes...
Mais j'aimerais savoir si y a moyen de grouper en 1 seule requête ^^
Modifié par Lothindil (06 Oct 2011 - 15:38)
Je fais face à un problème tout c*n (j'en suis certaine), mais que j'arrive pas à résoudre :
J'ai une table toute simple (appelons-là "table") qui contient 3 champs :
- id
- envoi
- réception.
Ce sont tous les 3 des int, id est un identifiant chiffré commun à moults tables et la primary key ici.
Je cherche à updater la table, soit avec un insert; soit avec un update si la clé existe. Jusque là je sais faire. A part que j'ai à faire avec des valeurs différentes sur mes "values".
La requête sans "on duplicate key" ressemble à ça (les $... sont des variables issues du php):
insert into `table` (`id`, `envoi`, `reception`) values ($id1,$e,$r),($id2,$r,$e)
A l'heure actuelle, j'ai une solution qui marche, mais avec 2 requêtes...
insert into `table` (`id`, `envoi`, `reception`) values ($id1,$e,$r) on duplicate key update `envoi`=`envoi`+$e, `reception`=`reception`+$r
insert into `table` (`id`, `envoi`, `reception`) values ($id2,$r,$e) on duplicate key update `envoi`=`envoi`+$r, `reception`=`reception`+$e
Mais j'aimerais savoir si y a moyen de grouper en 1 seule requête ^^
Modifié par Lothindil (06 Oct 2011 - 15:38)