|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() |
Bonjour a tous,
Voila j'ai un table avec un champ sort_order UNIQUE. Je souhaiterais pouvoir changer l'order de deux ligne en inversant leur valeur. j'avais donc penser réaliser deux update a la suite. Code :
du coup comment faire? j'ai bien penser faire Code :
Merci d'avance |
||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
C'est impossible, car MySQL n'est pas relationnel, pas ensembliste et ne sait donc pas faire des traitements autrement que ligne à ligne !!!
Vive MySQL qui est un pseudo SGBDR ! A lire sur le sujet : http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() |
Merci pour votre réponse
Donc ma solution du +1000 , puis -999, elle la solution recommandé? p.s::sachant que j'aurais 10 - 30 de ligne maximum donc +1000 est largement suffisant Merci |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
salut,
une solution peut être, si tu utilises de l'int(4) par exemple de: faire les updates en faisant ton +/-1 mais en inversant le résultat:
c'est pas top, mais ça fait le job, puisqu'à aucun moment tu as de doublon grâce à cette phase intermédiaire... je te conseille de faire ça grâce à une procédure stockée qui engloberas tes 4 update plutôt que de le faire avec 4 allers-retours php mysql... mais ta solution marche aussi bien, au pire tu peux verrouiller la table le temps de la mise à jour, pour éviter des accès le temps de la manipulation. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com