Update +/-1 modifier seulement 2 enregistrements
Posté : 10 mai 2007, 17:37
Salut à tous,
Alors je voudrais faire un truc qui ne me parait pas extraordinaire mais qui me pose un petit problème.
J'ai une table du genre:
nom, ordre
bla1, 1
bla2, 2
bla3, 3
bla4, 4
bla5, 5
Et je voudrais modifier le champ ordre en faisant +1 à un enregistrement, et -1 à un autre.
Par exemple si je veux classer bla3 avant bla2, je fais +1 à bla2 et -1 à bla3.
J'ai essayé ça:
Mais ça me modifie 3 enregistrements ! Je suppose que c'est parce que t1.ordre est modifié, ça fait une fois la requete avant de modifier et une fois modifié.
Evidemment, il ne veux pas entendre parler de LIMIT...
Est-ce que vous avez une idée, comment faire ça en une requete ?
Merci beaucoup par avance!
Cordialement,
Flo.
Alors je voudrais faire un truc qui ne me parait pas extraordinaire mais qui me pose un petit problème.
J'ai une table du genre:
nom, ordre
bla1, 1
bla2, 2
bla3, 3
bla4, 4
bla5, 5
Et je voudrais modifier le champ ordre en faisant +1 à un enregistrement, et -1 à un autre.
Par exemple si je veux classer bla3 avant bla2, je fais +1 à bla2 et -1 à bla3.
J'ai essayé ça:
Code : Tout sélectionner
UPDATE table t1, table t2 SET t1.ordre=t1.ordre-1, t2.ordre=t2.ordre+1 WHERE t1.nom='bla3' AND t2.ordre=t1.ordre+1Evidemment, il ne veux pas entendre parler de LIMIT...
Est-ce que vous avez une idée, comment faire ça en une requete ?
Merci beaucoup par avance!
Cordialement,
Flo.