|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
Hello,
Petite question pour laquelle je suis sûr vous allez vite me donner la réponse: Est-il possible de savoir, avec uniquement un UPDATE, si l'enregistrement X dans la base de données a été mis à jour? Exemple : Code :
} Ici l idéal serait : si l'enregistrement pour languageId n'a pas été trouver, alors on fait la nouvelle insertion. Le but est de ne pas refaire un SELECT... Cela est il possible? |
||
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() |
J 'vois pas l'intérêt en fait...
M'enfin de toute façon ton UPDATE se fera toujours SAUF s'il se fait pas (logique) dans quel cas ou tu passe dans le OR DIE et il te sort une erreur SQL... enfin vu le code que tu as écris là. En gros, il est obligé de se faire l'update car s'il réussit pas, le script s'arrête. Shinn77 |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
Mais un UPDATE sur telles ou telles condition peut ne pas se faire si les conditions ne répondent pas à ce que j'ai demandé...
Donc un UPDATE ne générera pas d'erreur mais ne se fera simplement pas... Or, j'aimerais que si l'id de langue n'existe pas, donc update impossible, qu'il fasse un insert à la place... Et pour cela, j'ai besoin de savoir, si ma requete UPDATE a modifié quelque chose pas dans la base de données. |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
Okay.
Ben je ne sais pas... à faire faire un SELECT avant et faire soit un update soit un insert j vois pas d'autre alternative =) (si les proc stoc bien faites mouahaha non rien :p) Shinn77 |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Inscription : juin 2006 Messages : 133 ![]() |
Bonjour,
Vous pouvez tester en premier lieu si langageid existe dans votre base avant de faire votre update. Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
Citation:
Est-ce réellement le seul moyen? Mon but est de faire le moins de requetes possible. N'existe-t-il pas un moyen autre de savoir si la requete UPDATE a updaté l'enregistrement ou pas? Sinon j'utiliserai cette alternative, le seul problème c'est que c'est une requete de plus. Merci. |
|||
|
00
|
|
|
#7 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Vous pouvez prendre le problème à l'envers : si l'enregistrement existe déjà, donc l'insertion échoue, vous faites un UPDATE. C'est ce que permet de réaliser l'"option" ON DUPLICATE KEY.
Code SQL :
INSERT INTO ma_table SET champ1 = 'valeur1', ..., champN = 'valeurN' ON DUPLICATE KEY UPDATE champ1 = 'valeur1', ..., champN = 'valeurN'; |
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
waow terrible cette requête!
Merci à tous. Je cloture le sujet. |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() |
Pareil, j'ai moi aussi appris qq chose aujourd'hui.
Merci Julp. Shinn77 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com