[ PHP / MySQL ] Auto_increment et INT(11) - Update : le pb est ailleur

Auto_increment et INT(11) - Update : le pb est ailleur [ PHP / MySQL ] - PHP - Programmation

Marsh Posté le 24-04-2003 à 20:49:51    

je suis arrivé a l'id généré automatiquement :
"2147483647" ( c'est le maximum pour un INT(11) ? - je crois )
bref, je vide la table en question et...
les ids essaie de se créer au dela de 2147483647
au lieu de repartir a 0,
comment faire pour que l auto_increment reparte de 0 ? ( Reset ? )
 
Help :)
 
edit : titre


Message édité par j-'-r le 25-04-2003 à 08:18:33
Reply

Marsh Posté le 24-04-2003 à 20:49:51   

Reply

Marsh Posté le 24-04-2003 à 21:13:04    

il faut vider pas simplement effacer tout les enregistrements!

Reply

Marsh Posté le 24-04-2003 à 21:18:48    

il faut recréer la table, vider ne change rien ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 21:22:07    

drasche a écrit :

il faut recréer la table, vider ne change rien ;)


 
tu te trompe très cher je viens de le faire sous phpmyadmin.
 
essaye la requete sql suivante
 

Code :
  1. DELETE FROM `ta_table`

Reply

Marsh Posté le 24-04-2003 à 21:35:33    

j'ai essayé sur MySQL 3.23 et MySQL 4.0, ça change rien du tout, l'autoincrement garde le dernier numéro entré.  D'ailleurs, ce comportement est normal sur tout SGBD, à moins de fixer manuellement la valeur.  Sûr que ton phpmyadmin ne fait pas un truc en cachette?  c'est quoi la date de création de ta table?
 
J'utilise MySQL-Front pour mes opérations.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 21:38:58    

Si si je pense bien qu'il fait qqchose en cachette...
 
Mais il y a une autre commande. Je suis sure que tu n'est pas obliger de recréer la table.

Reply

Marsh Posté le 24-04-2003 à 21:41:38    

simoes a écrit :

Si si je pense bien qu'il fait qqchose en cachette...


 
CLEAN_TABLE(); [:alb77]


Message édité par simogeo le 24-04-2003 à 21:41:49

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 24-04-2003 à 23:13:59    

simoes a écrit :

il faut vider pas simplement effacer tout les enregistrements!


J'ai vidé, pas éffacé... et ca a pas marché !


Message édité par j-'-r le 24-04-2003 à 23:14:37
Reply

Marsh Posté le 24-04-2003 à 23:27:25    

simogeo a écrit :


 
CLEAN_TABLE(); [:alb77]


marche pas ? ou je ne sais pas comment m'en servir...

Reply

Marsh Posté le 24-04-2003 à 23:41:39    

J-'-R a écrit :


marche pas ? ou je ne sais pas comment m'en servir...


 
euhhhhh  [:troa]  c'etait une blague ......  :lol:  
 
 
 
 
 
 [:southpark1] désolé  :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 24-04-2003 à 23:41:39   

Reply

Marsh Posté le 25-04-2003 à 00:21:29    

Le plus simple (j'ai pas trouvé comment faire autrement de toutes facons :pt1cable: ) tu sauvegardes la structure de ta table, tu la détruit et tu recrés une nouvelle table qui porte le meme nom que l'ancienne à partir de ta sauvegarde de structure  [:spamafote]

Reply

Marsh Posté le 25-04-2003 à 00:34:33    

une 'tite recherche rapide sur le forum avec "auto_increment repartir de 0" (j'ai eu du bol :D j'avoue ):
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
et voila une solution toute jolie, quelle est belle :)
 

Citation :

CleanX a écrit
en fait t'es obligé de changer la valeur de départ de ton AUTO_INCREMENT avec cette commande :  
"ALTER TABLE ta_table AUTO_INCREMENT = 50"
Si tu exécute cette commande ton increment va repartir de 50. Donc si t'as n lignes dans ta table faut entrer n pour que ton entrée suivante corresponde à n+1, enfin ça je pense que t'aurais trouvé tout seul...


Message édité par ethernal le 25-04-2003 à 00:40:13

---------------
...oups kernel error...
Reply

Marsh Posté le 25-04-2003 à 08:00:30    

La commande s'execute, mais ne marche pas :(
 
je vais détruire ma table :(...

Reply

Marsh Posté le 25-04-2003 à 08:17:44    

Table détruite et re-crée et le probleme se posse toujours :(
 
la je comprends pas
si j'insert un enregistrement, l'id est forcement : 2147483647
et le suivant ne marche pas ( 2147483647 c'est bien la limite de l'int(11) ? )
 
EXPLICATION ?

Reply

Marsh Posté le 25-04-2003 à 08:24:38    

au fait c'est pas int(11) mais int tout court.  MySQL-Front me fait ça aussi et ça sert strictement à rien.  Bon j'ai 3 versions de MySQL ici, je vais tester la commande pour voir si l'un des trois le prend :)
 
edit: ok sur 3.xx et 4.xx


Message édité par drasche le 25-04-2003 à 08:33:36

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed