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

Langage SQL Discussion :

Explication sur PRIMARY KEY et UNIQUE


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Par défaut Explication sur PRIMARY KEY et UNIQUE
    Bonjour à tous,

    j'ai créé une table Villes avec 2 champs comme ceci :

    id -> type INT, c'est ma clé primaire qui est auto incrémenté
    nom_ville -> VARCHAR(50), avec un index UNIQUE

    Mes données :

    villes
    id nom_ville
    1 Paris
    2 Lyon
    3 Toulouse

    Quand je fais :

    Code SQL :
    SELECT * FROM villes;


    J'obtiens :

    villes
    id nom_ville
    2 Lyon
    1 Paris
    3 Toulouse

    Je voudrai savoir pourquoi le résultat est trié par rapport au 2eme champs alors que je n'est rien précisé et que le 1er est aussi indexé?

    Merci.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'ai remarqué ça en interrogeant via phpMyAdmin en effet.
    C'est peut-être parce que l'index sur le nom est le plus utilisé et le plus frais en mémoire ?
    Mais ne te fie pas à ce tri apparent. Si tu veux un résultat trié, spécifie le clairement dans la requête.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Article clair et intéressant, merci. Comme je commence à beaucoup m'intéresser aux bases de données, je vais commencer à suivre de près votre blog.

    Donc comme l'a dit CinePhil, pour avoir un résultat trié, toujours le préciser dans la requête.

    Merci à vous.

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

Discussions similaires

  1. [Généralités] requete Sql d'ajout (ignorer les erreurs sur primary key)
    Par sperchey dans le forum WinDev
    Réponses: 17
    Dernier message: 25/07/2012, 15h00
  2. Pb one-to-one sur primary key
    Par Agent_Nivek dans le forum Hibernate
    Réponses: 0
    Dernier message: 01/03/2012, 15h38
  3. [MySQL] requête avec WHERE sur primary key
    Par newbiemac dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/09/2007, 09h41
  4. PRIMARY KEY - UNIQUE - INDEX
    Par Thierry8 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/12/2005, 23h28
  5. pb de primary key sur 2 colonnes
    Par new_wave dans le forum Designer
    Réponses: 14
    Dernier message: 25/11/2005, 11h05

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