Un peu vague comme question ... justement si elle etait pas que dans le titre ca serait peut etre plus compréhensible :) Avec un peu plus de détail, comme la table etc ...
je sais pas si on t'as déje expliqué le principe ensembliste d'une base de donnée...
rien n'est ordonné dans une table d'une base de donnée (c'est du moins le principe, même si certains dbms s'amusent parfois à trier les résultats bizarrement selon un certain ordre toujours pareil, mais osef)
si tu veux swapper 2 lignes, faut le faire soit en parametrisant ta requete via des clauses d'ordonencement (order by), soit de groupement (group by) (c'est plus rarement utilisé, déja).
tu peux swapper les tuples de ta table autant de fois que tu veux, tu ne sera jamais sur de les avoir dans l'ordre que tu veux.
pitet que mysql te les donnera dans le sens désiré parce qu'il fonctionne comme ca, mais un autre dbms te les sortira autrement, parce qu'il n'est défini nulle par dans la norme sql 92 (ou sql99) qu'un dbms doit sortir les données selon un certain ordre quand ca ne lui est pas demandé...
(pour résumer tres fort, un dbms relationnel fonctionne exactement comme les ensembles d'un point de vue mathématique. si un diagramme de Venn peut t'aider à comprendre le truc, hésite pas ;))
je sais pas si on t'as déje expliqué le principe ensembliste d'une base de donnée...
rien n'est ordonné dans une table d'une base de donnée (c'est du moins le principe, même si certains dbms s'amusent parfois à trier les résultats bizarrement selon un certain ordre toujours pareil, mais osef)
Je crois savoir que chez IBM gros systèmes, il y a une option 'cluster' qui force le SGBDR à stocker les lignes d'une table dans l'ordre.
M'enfin... effectivement, sous MySQL, la question est tout de même bien étrange...
# ?
Posté par DjinnS . Évalué à 4.
Echanger l'index ?
Un peu vague comme question ... justement si elle etait pas que dans le titre ca serait peut etre plus compréhensible :) Avec un peu plus de détail, comme la table etc ...
# order by ?
Posté par nicodache . Évalué à 6.
rien n'est ordonné dans une table d'une base de donnée (c'est du moins le principe, même si certains dbms s'amusent parfois à trier les résultats bizarrement selon un certain ordre toujours pareil, mais osef)
si tu veux swapper 2 lignes, faut le faire soit en parametrisant ta requete via des clauses d'ordonencement (order by), soit de groupement (group by) (c'est plus rarement utilisé, déja).
tu peux swapper les tuples de ta table autant de fois que tu veux, tu ne sera jamais sur de les avoir dans l'ordre que tu veux.
pitet que mysql te les donnera dans le sens désiré parce qu'il fonctionne comme ca, mais un autre dbms te les sortira autrement, parce qu'il n'est défini nulle par dans la norme sql 92 (ou sql99) qu'un dbms doit sortir les données selon un certain ordre quand ca ne lui est pas demandé...
(pour résumer tres fort, un dbms relationnel fonctionne exactement comme les ensembles d'un point de vue mathématique. si un diagramme de Venn peut t'aider à comprendre le truc, hésite pas ;))
[^] # Re: order by ?
Posté par DocteurCosmos . Évalué à 2.
Je crois savoir que chez IBM gros systèmes, il y a une option 'cluster' qui force le SGBDR à stocker les lignes d'une table dans l'ordre.
M'enfin... effectivement, sous MySQL, la question est tout de même bien étrange...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.