INSERT a l'id qu'on vient de DELETE

Signaler
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005
-
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005
-
Bonjour a tous,



Voila j'aimerais savoir sous mysql comment forcé l'insertion dès le
"départ", c'est a dire, par exemple dans votre table utilisateur vous
venez d'en supprimé avec l'id = 21 avec 40 enregistrement dans la
table, mais si vous faite un insert d'un nouvel utilisateur il va le
faire apres le 40 sois d'id 41, et moi j'aimerai en faite qu'il
"comble" les ids non utilisé c'est a dire qu'il face l'enregistrement
en 21.





je sais pas si ca été claire mais merci d'avance.

MiStEr_B@sSm@N

11 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



ALTER TABLE ta_table AUTO_INCREMENT=x



ou x est le nombre qui sera le prochain id inséré dans ta table.



a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005

ca a pas marché :( ca ma inséré l'élément 2 enregistrement plus loin :(



ALTER TABLE membre AUTO_INCREMENT=2



,

,

,

1,
test@tes.com,
bassman,
a1b4175aa35180cc0de8e978e8c49b70,
NULL,
2005-07-26,
1,
1,

----

,

,

,

3,
azerty,
sdfdskjl,
kljlkj,
NULL,
2005-08-04,
0,
1,

----

,

,

,

4,
opiplm,
khjk,
lkjlkjop,
NULL,
2005-08-07,
0,
0,

----

,

,

,

5,
root@localhost,
root,
azerty,
NULL,
2005-08-04,
0,
0


MiStEr_B@sSm@N
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
bah là c'est normal, t'as déjà un id=2 de pris, il faut pas qu'il soit pris pour que ça fonctionne...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005

En faite j'ai supprimé mon entré ou l'id = 2 apres j'ai fait le ALTER, c'est bien ca qu'ilf aut faire ?



en tout cas c'est ce que je voudrais, supprimé un élément de la base la
l'id = 2 et ensuite un autre utilisateur s'enregistre et je veu qu'il
se mette a l'id = 2 et non pas a la suite des éléments deja enregistré,
cad pas apres 4

MiStEr_B@sSm@N
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
ah non ça tu ne peux pas, sans forcer l'id dans la requête



INSERT INTO table VALUES(2,'blabla')



le chiffre 2 correspond habituellement où tu ne mets rien (l'id s'autoincrémentant de lui-même)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005

ok car quand tu fait un truncate table membre, sois tu vide ta table il
reprend bien a l'id=1, donc je me suis dis qu'il y avait un moyen de
forcé sois a la suppression sois a l'insertion l'id libre



merci beaucoup :) je vais en faisait un fonction pour récupérer un id libre, peut etre une recherche :)



merci



MiStEr_B@sSm@N
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Et sinon au lieu de supprimer un id, tu le vide de toute données. Après
tu fais une fonction qui recherche tous les id ou il n'y a pas de
données et s'il en trouve un il l'utilise... C'est peut etre + facile à
réaliser non ?

Ciaò
MadMatt
http://matthieu.napoli.neuf.fr/wintools.html
Messages postés
66
Date d'inscription
jeudi 4 août 2005
Statut
Membre
Dernière intervention
16 décembre 2009

Surtout que la méthode de AnthoMicro n'est pas géniale dans le sens où
tu dois spécifié l'id vide ! Je te souhaite pas d'en avoir 100 à
vérifier pour trouver les trous.

J'avais fait un script pour que ça se fasse automatiquement mais
faudrait que je recherche ( pas ce soir la flemme de cogiter c'est plus
l'heure :) ).



Mizuka
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Bah j'ai spécifier un ID directement, mais il faut le chercher avant
bien entendu, donc il faut une fonction genre la tienne, m'enfin
rechercher des trous dans les id je trouve ça un peu débile, il
vaudrait mieux créer un champ séparé (non autoincrémenté) que tu
ajusterai quand une donnée est supprimée...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
"j'ai spécifier"



=> j'ai spécifié (faute du matin je suis pardonné lol)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
43
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
24 novembre 2005

ok merci a tous de vos réponses :)


je pense que la méthode de MadM@tt est pas mal et plus facile a
rechercher dans la base, car c'est vrai que rechercher un id qui a été
supprimé pour l'inserer apres celui qu'on a trouvé et en utilisant la
méthode d'Anthomicro est plus fastidieuse, alors que laissé les champ a
vide, "", est plus facile a rechercher, car l'id est toujours présent
et cela permet un gain de vitesse, a la recherche, et au lieu de faire
un INSERT, on fait un UPDATE qui doit surement être plus rapide :)






MiStEr_B@sSm@N