IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation MySQL Discussion :

[MySQL] [SQLyog] comment ne pas trier les attributs sur 1 PK


Sujet :

Installation MySQL

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Points : 53
    Points
    53
    Par défaut [MySQL] [SQLyog] comment ne pas trier les attributs sur 1 PK
    Salut,

    Est il possible dans une table ne contenant qu'une colonne (un champ) et représentant les clé primaire que celle-ci ne soit pas ordonné. Petit exemple :

    Je souhaite insérer, dans ma table ne contenant qu'un seul champ, l'attribut "PasdeBol" sachant que cette table contient déjà les attribut :
    "PoDoué", "TMalBarré" et "Zut". Et ainsi lorsque je viendais faire un select sur cette table pour récupérer toute les données, je souhaite les avoir par ordre d'insertion c'est à dire :

    PoDoué
    TMalBarré
    Zut
    PasdeBol
    Et ne pas les obtenir par ordre alphabétique comme ce qui suit:

    PasdeBol
    PoDoué
    TMalBarré
    Zut
    Est ce possible et comment faire.

    J'utilise SQLyog FREE MySQL GUI V5.0

    Merci à vous

    Anthony

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Je verrais plutôt 2 champs:
    - un id (PRIMARY KEY AUTO_INCREMENT)
    - un libélé (UNIQUE)

    Comme ça, tu est sûr que l'ordre est conservé (là, si l'ordre est changé, c'est certainement à cause de l'INDEX que MySQL rajoute sur ton champ, vu qu'il est est PRIMARY KEY). En plus, quand tu feras une référence sur ton champs, tu le feras juste sur la clef (entier) et non sur une chaine (c'est le principe des clefs étrangères !)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Points : 53
    Points
    53
    Par défaut
    ca ne m'aarange pas trop car je suis sur la fin de mon appli et tout a été configuré autour de cette table. Si je dois y retoucher je suis pas sorti de l'auberge et pas couché non plus.

    Sinon pour être sûr de ce que tu m'as dit:

    D'après toi c'est à cause de la déclaration en tant que primary key que ma table est triée, c'est bien ca. Ce qui veux dire que toute table contenant des clé primaire sont ordonnées suivant leur index...???

    merci de me préciser si j'ai tout ou rien compris

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Ta table telle qu'elle est pourrait être comparée à une machine à brasser des boules de loto de couleur différentes, sauf qu'il n'y aurait aucun numéro sur les boules.
    Il faut rajouter un "numéro", une colonne qui permet d'effectuer le tri que tu souhaites (par ordre d'insertion en l'occurrence) car le SGBD ne permet pas cela de base.

    Cf http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L5
    Pensez au bouton

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par raoulmania
    D'après toi c'est à cause de la déclaration en tant que primary key que ma table est triée, c'est bien ca. Ce qui veux dire que toute table contenant des clé primaire sont ordonnées suivant leur index...???
    C'est une supposition, mais ça me semblerait assez logique (la plupart du temps, la clef primaire est un entier, donc on ne se rend compte de rien...)

    Ce dont on est sûr:
    - quand tu déclares un champs comme PRIMARY KEY, ce champ est automatiquement déclaré comme NOT NULL, UNIQUE et INDEX.
    - l'INDEX sert à accélérer la recherche (création d'un arbre), donc les comparaisons se font dessus

    Cela expliquerait pourquoi tes champs sont triés par ordre alphabétique.

    Edit: En outre, je suis tout à fait d'accord avec Maximilian (mais tu nous as dit que tu ne voulais pas modifier ta table, donc...)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Cette histoire d'ordre dans l'affichage me fait également penser à ce sujet.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  7. #7
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Points : 53
    Points
    53
    Par défaut
    Bon je me suis décidé à changer ma table car c'est ce qui me semble le plus approprié quand même.

    Le fait de déclarer dans un autre champ, une valeur entière auto incrementé n'est il pas dangereux s'in nous arrive d'atteindre soit une limite soit je ne sais quoi, ou est ce une mesure des plus courante avec mysql.

    Merci d'ailleurs pour toutes vos réponses. Elles m'ont été fort utiles

  8. #8
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par raoulmania
    Le fait de déclarer dans un autre champ, une valeur entière auto incrementé n'est il pas dangereux s'in nous arrive d'atteindre soit une limite soit je ne sais quoi, ou est ce une mesure des plus courante avec mysql.
    C'est absolument à la base de tout ! (pas de danger de ce côté là, à moins bien sûr d'avoir 2^32, soit plus de 4 milliards d'enregistrements...)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  9. #9
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par raoulmania
    ou est ce une mesure des plus courante avec mysql.
    c'est une technique presque indispensable dans l'utilisation de SGBDR
    sans clé primaire, il est souvent impossible de sélectionner un enregistrement particulier

  10. #10
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Points : 53
    Points
    53
    Par défaut
    N'existe t il pas sinon la même fonction que l'auto increment mais qui se redimensionne selon les diverses suppressions. ou serait à moi de le configurer...

  11. #11
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par raoulmania
    N'existe t il pas sinon la même fonction que l'auto increment mais qui se redimensionne selon les diverses suppressions. ou serait à moi de le configurer...
    Au risque de me répéter, lit ce sujet
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  12. #12
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par raoulmania
    N'existe t il pas sinon la même fonction que l'auto increment mais qui se redimensionne selon les diverses suppressions. ou serait à moi de le configurer...
    l'"auto increment" est prévu pour gérer le clés primaires donc une identifiant unique par enregistrement
    donc si tu veux un compteur tu devras rajouter un champ mais pour le tri que tu vux faire tu n'en as pas besoin je pense

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OpenOffice][Base de données] Comment ne pas afficher les tables de MySQL
    Par CinePhil dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 28/01/2011, 10h01
  2. Réponses: 7
    Dernier message: 24/01/2007, 16h05
  3. Comment ne pas voir les alertes de Access ?
    Par kaptnkill dans le forum Access
    Réponses: 6
    Dernier message: 12/07/2006, 16h49
  4. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 15h01
  5. [][Excel] Comment ne pas détruire les formules ?
    Par flyangelNext dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2003, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo