Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/03/2007, 09h23   #1
Membre habitué
 
Inscription : juin 2006
Messages : 264
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 264
Points : 102
Points : 102
Par défaut Pb avec => "auto_increment"

Bonjour,

L'image ci-dessous est peu plus plus parlante, en fait je cherche à comprendre pourquoi l'incrémentation ne reprend pas à la suite du dernier par exemple, après en avoir éffacer un certains nombre d'enregistrement.

Existe-il une table "tmp" quelque part dans mysql qui garderait en mémoire la dernière incrémentation connue ? si oui, comment faire pour quelle s'efface automatiquement après insertion ou suppression ?

Code :
`c_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
http://www.developpez.net/forums/att...1&d=1174893253

En vous remerciant.
ctrl+z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 10h01   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Cette "valeur" est très certainement stockée quelque part, mais l'utilité de la modifier soi-même est très incertaine et risque de mettre toute la base par terre.

Vouloir la modifier est pour moi synonyme de "la clé porte une valeur fonctionnelle", et qui est incompatible avec l'auto-incrément dont le rôle est uniquement de garantir l'unicité "technique" d'un identifiant dans la table.

Alors, autant laisser faire le système; sachant qu'avec un int(11), il y a de la marge avant de revenir à 0
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 11h27   #3
Membre habitué
 
Inscription : juin 2006
Messages : 264
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 264
Points : 102
Points : 102
Citation:
Envoyé par qi130
Cette "valeur" est très certainement stockée quelque part, mais l'utilité de la modifier soi-même est très incertaine et risque de mettre toute la base par terre.
Je ne vois pas en quoi ça peut "mettre toute la base par terre" car une solution simple consisterait par exemple à retirer juste le dernier id+1
c'est surtout pas normal tout ça à moins qu'il faille y mettre un triggers quelque part...

D'autres ont-il une idée du pb ?
ctrl+z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 15h18   #4
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Citation:
Envoyé par ctrl+z
Je ne vois pas en quoi ça peut "mettre toute la base par terre" car une solution simple consisterait par exemple à retirer juste le dernier id+1
c'est surtout pas normal tout ça à moins qu'il faille y mettre un triggers quelque part...
Tss tss...

Refait l'exercice dans un contexte multi-utilisateurs...
Tu acquiers "ton" last_id, pendant ce temps, un autre créé l'id suivant, puis tu demandes la suppression du nième jusqu'à "ton" last_id avec réinitialisation forcée (par toi) du last_id à n-1.

Dans quel état est la table ?

Et si d'aventure, des données dans d'autres tables résultent d'un hash sur cet auto-incrément, comment sera la base ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 09h34   #5
Membre habitué
 
Inscription : juin 2006
Messages : 264
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 264
Points : 102
Points : 102
oui c'est vrai mais il n'y a pas de multi-utilisateurs, c'est juste une liste de produits avec une admin qui permet d'en ajouter d'autres.
ctrl+z est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web