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

SQL Procédural MySQL Discussion :

Champs auto incrémenté et suppression de tuples


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Par défaut Champs auto incrémenté et suppression de tuples
    Bonjour.
    J'utilise MySQL et j'ai une table qui comporte un champ auto incrementé.
    Or quand on supprime un ou plusieurs tuples, la valeur de l'attribut autoincrémenté ne prend pas en compte ces suppressions.
    Y aurait il un moyen de contourner ce problème ?

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 17
    Par défaut
    Je suis également intéressé par une information concernant ce "problème".

    J'ai cherché dans la FAQ MySQL ainsi qu'avec la fonction Rechercher du forum mais je n'ai pas trouvé d'informations à ce sujet

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Au risque de répèter ce qui a été dit 50 000 fois sur tous les forums, une clé autoincrémentée n'est qu'un moyen d'accès à un enregistrement déterminé. Qu'il y ait des trous ou pas dans la numérotation n'a strictement aucune importance.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 17
    Par défaut
    Ca je le sais

    Sauf que ça répond pas à la question ^^"

    En fait, le vrai "soucis" là dedans c'est que, dans une base de données ça fait quand même plus propre de passer de 1 à 2 au lieu de 1 à 3 si jamais on supprime la ligne d'id 2

    De plus, imaginons que le champ id soit un TINYINT, donc au maximum id peut avoir la valeur 127.
    Si on prévoit ne n'avoir EN PERMANENCE que 50 lignes dans la table, mais que, admettons, on supprime certaines lignes pour en rajouter le même nombre (par exemple pour changer un truc dans les lignes ou je ne sais quoi d'autre).
    A force, il se peut qu'on arrive à 127, vous pensez pas ? et du coup, on pourra plus en rajouter.
    CERTES, il suffit de changer l'id en SMALLINT voir INT, c'est un fait, mais IMAGINONS qu'on ne puisse pas !

    Donc ?... ^^

Discussions similaires

  1. un champ auto incrément et la suppression
    Par SmileSoft dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/07/2009, 23h32
  2. Réponses: 5
    Dernier message: 22/05/2006, 14h53
  3. champ auto incrémenté
    Par Kerod dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/09/2005, 17h29
  4. [BCB5][FB 1.5]IBDataSet et champ Auto-incrémenté
    Par Sitting Bull dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 21/07/2004, 15h37
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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