2012-01-05 2 views
0

J'ai créé une table qui a un champ d'incrémentation automatique. J'ai inséré quelques enregistrements et les ai supprimés. Nous avons dû changer le fichier php.ini et redémarré la machine. Le champ d'incrémentation automatique a recommencé à partir de 1. J'ai un site web qui utilise Joomla sous Windows Server 2008. On dirait que PHP et MySQL sont intégrés à Joomla. Je suis nouveau sur PHP et MySQL. S'il vous plaît laissez-moi savoir ce qui pourrait être le problème? Je cours PHP 5.3.8 et MySQL 5.0. Merci pour toute aide.problème étrange avec champ de numéro automatique dans MySQL

+0

Cela ne devrait pas se produire: ID auto-incrément utilisés ne seront jamais réutilisés. Êtes-vous sûr que le plugin n'a pas recréé automatiquement le champ ou quelque chose? Êtes-vous sûr d'avoir inséré les données dans le même tableau? –

+0

comment avez-vous supprimé, avec truncate (vide dans phpmyadmin) ou supprimer? .. truncate réinitialisera l'incrémenteur automatique –

+0

La seule façon dont auto_increment aurait pu être réinitialisé à 1 est si la table a été supprimée et recréée, ou qu'un alter a été exécuté contre elle pour réinitialiser la valeur auto_increment. Qu'avez-vous changé dans le fichier php.ini? –

Répondre

1

Utilisez-vous la commande TRUNCATE ou DELETE pour supprimer les données? S'il s'agit de TRUNCATE, il réinitialisera la valeur d'incrémentation automatique.

+0

Bonne distinction. –

1

Cela ne devrait pas arriver normalement. Mais comme solution, vous pouvez utiliser la requête suivante pour réinitialiser le compteur d'incrémentation automatique à la dernière valeur précédente.

ALTER TABLE theTableInQuestion AUTO_INCREMENT=newalue , so that you could continue with t 

mesure comme d'habitude en réglant newvalue = dernière autoincrementvalue +1