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

PHP & Base de données Discussion :

AutoIncrement non chronologique


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut AutoIncrement non chronologique
    Bonjour à tous

    Voici mon problème : j'ai une table où la première variable '_id' est 'autoincrémentée' :

    int(10) unsigned NOT NULL auto_increment,

    J'aimerais savoir comment faire en sorte que, lorsque je supprime des enregistrements puis en crée de nouveaux, l'auto increment reprenne depuis l'_id' du dernier enregistrement existant. Je m'explique, ce que j'observe pour l'instant c'est qu'il (phpMyadmin sur server) ne prends pas en compte la suppression d'un enregistrement afin de consever la chronologie des _id.

    J'espère avoir été assez clair , merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Chaque table concerve la valeur de l'auto increment pour la future requête de type INSERT, MySQL ne parcours pas la table à la recherche d'un id non utilisé, ce qui serait trop lourd et qui risquerait de créer des conflits.

    Pourquoi tu veux remplir ces id non utilisés après suppression ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Oui, en fait je me suis mal exprimé :

    Imagines que tu envoies des messages sur une base, chaque message possède donc un id (msg 1, msg 2, msg3...) ce qui facile les requêtes ultérieures... maintenant je supprime le dernier message dont l'ID était 3. Je voudrais simplement que le prochain message envoyé prenne cet ID et non 4, de manière à conserver la chronologie pour simplifier mes requetes (comme de simples boucles for(i=0, i<tableTot, i++ )...

    Voilà j'espère que c'est plus clair,
    merci

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je ne vois aucun intéret à combler les "trous".
    Dans ton exemple :
    1, 2, 3
    Je supprime 3
    1, 2
    J'ajoute 4
    1, 2, 4
    Or 1 < 2 < 4 donc la "chronologie" est respectée.

    Je ne vois pas en quoi ça complexifie tes requêtes. Peux tu nous donner un exemple ?

  5. #5
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    Bonsoir,

    En effet, il n'y a pas besoin d'y avoir d'ordre chronologique précis, l'important est d'avoir cette clé unique.

    Car le pb se poserai quand tu efface le 2 de 1,2,3,4
    Si 5 prend la place de 2, tout serai encore plus faussé!!!

    Utilise des requète ORDER BY etc...

    L'ordre chronologique sera respecté et il n'y a aucun soucis à passer de 3 à 7 etc...

    Voilà, j'espère avoir éclairer un peu ce post
    Bonne nuit!
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

Discussions similaires

  1. [MySQL] Champs autoincrémenté non numérique
    Par djsid dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/11/2009, 19h11
  2. Date dans un ordre non chronologique dans un graphique
    Par Homer091 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/05/2008, 13h40
  3. Tri des mois dans l'ordre alphabétique et non chronologique
    Par Nessie37 dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 28/01/2008, 20h03
  4. identifiant non autoincrementé
    Par hermine dans le forum ASP.NET
    Réponses: 21
    Dernier message: 11/07/2007, 14h11
  5. Conception de Base de données (AutoIncrément oui ou non)
    Par matgel dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 16/04/2004, 08h47

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