|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 28 ![]() |
Bonjour j'ai cherché dans les tuto mais je suis chez un ami qui a une disque dur de 4go dc je ne peux telecharger l'integralité des cours et ca n'est pas dans la faq :S
Ma question est : j'ai une table, et à chaque id correspond entre autre une valeur. Dans ma fonction, je souhaite : -si il n'y a pas d'entrée pour tel id, en creer une -si il y en a une, la mettre à jour, qu'il n'y ait pas de doublons en tout cas! voila c'est bete, mais insert insere et update met à jour (il faut donc que ca existe). Comment faire ca en une requete proprement plz? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : septembre 2005 Messages : 1 499 ![]() |
Bonjour,
si ta version de mysql est supérieur ou égale a la 4.1.0, tu peux utiliser la clause on duplicate key insert
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 28 ![]() |
merci! c'est exactement ce que je cherchais, je viens de mieux chercher sur le net et ma requete finirait comme ca :
Code :
(sachant que ma table contient d'autres champs plus ou moins importants) là ca fera que pour ma_table, à la ligne de l'id du mec, si elle existe pas elle est créé, si elle existe seul mon champ "son_texte" est mis à jour sans toucher aux autres infos de la ligne (par exemple "ma_table" contient la couleur de ses yeux, qui n'est pas importante, mais que je ne souhaiterais pas perdre si je met à jour "son_texte") Je met le post en "résolu" si j'ai faux quelque part dit le moi merci encore! |
||
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() |
Code :
__________________
Shinn77, Till the End of Time "Celui qui sait qu'il ne sait pas, éduque le." "Celui qui sait qu'il sait, écoute le." "Celui qui ne sait pas qu'il sait, éveille le." "Celui qui ne sait pas qu'il ne sait pas, fuis le." |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 28 ![]() |
ça revient au même il me semble non?
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 28 ![]() |
Erf ca ne marche pas en fait
Vu que le champ text change, ca en insert un nouveau à chaque fois :S Et j'ai essayé avec la methode de shinn77, ca ne change rien, et essayé en changeant les champs de position (user_id en premier) mais inutile en fait suis-je condamné à effectuer plusieurs reuquete et les analyser avec php? |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 28 ![]() |
Apres avoir continué de chercher, mon erreur est du au fait que je n'utilise betement pas une clé unique dans ma requete originale.
Comme de toute maniere il faudrait que je la cherche je suis obligé de faire une requete en plus, je vais donc me cantoner à un puis un test avec "if (mysql_num_rows($res))" sur le resultat de ma requete (en php) et si ca passe un update Si ca foire un insert merci quand meme ^^ |
|
|
00
|
|
|
#8 | ||
|
Membre éprouvé
![]() Inscription : janvier 2003 Messages : 491 ![]() |
Pour que ça fonctionne, il faut que user_id soit défini comme clé primaire sur ta table !
Code :
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant." |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com