begin process at 2012 05 31 06:52:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Problème avec l'auto-incrémentation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec l'auto-incrémentation

dimanche 28 août 2005 à 08:06:23 | Problème avec l'auto-incrémentation

Dragonblood

dimanche 28 août 2005 à 08:09:41 | Re : Problème avec l'auto-incrémentation

Dragonblood

Bonjour,

J'utilise Easy PHP et j'ai un problème. Dans mes tables, il y a toujours un champs ID qui s'auto-incrémente à chaque fois que je rajoute des informations. Le problème c'est que lorsque je veux supprimer une information, l'ID ne revient pas à sa valeur antérieur mais continue de s'incrémenter. Y'a t-il un moyen pour l'obliger, lorsque je supprime une ligne complète,de revenir à sa valeur antérieur ?

Merci de me répndre.
++
dimanche 28 août 2005 à 08:31:56 | Re : Problème avec l'auto-incrémentation

JoJo738

Membre Club
Lu, alors tu peux faire ca :

mysql_query(' DELETE `ma_table` WHERE id=' . $id); // On supprime l'enregistrement $id
mysql_query(' UPDATE `ma_table` SET id=id-1 WHERE id<' . $id); // On decremente les enregistrement superieurs
mysql_query(' ALTER TABLE `ma_table` '); // On défragmente la table (auto incremente au minimum (x données dans la table))


Voila

Si ma reponse te convient, merci de l'accepter !
dimanche 28 août 2005 à 09:32:21 | Re : Problème avec l'auto-incrémentation

Dragonblood

Oui merci mais je pensais plutôt le faire directement dans PHP My admin. Lorsque je supprime une table directement dans PHP My Admin, il ya une valeur qui s'appelle autoindex (il me semble). J'aimerais pouvoir controler CE PARAMETRE.

mais merci quand même...

++
dimanche 28 août 2005 à 10:11:48 | Re : Problème avec l'auto-incrémentation

malik7934

Moi j'ai une question pour Jojo... peux-tu m'expliquer l'effet de mysql_query(' ALTER TABLE `ma_table` ') ? Je ne comprends pas ce que tu entends par défragmenter...

Merci! ++


*****
THINK
-> SEEK -> ASK

dimanche 28 août 2005 à 10:19:31 | Re : Problème avec l'auto-incrémentation

JoJo738

Membre Club
Alors,
Disons que tu as 10 enregistrements.
Tu supprime le 9eme, mais l'autoincrement reste à 11 (10+1). Et si je fais un ALTER TABLE `ma_table` mon autoincremente retombe à dernier_autoinvremente_existant+1
C'est dans Operation dans PhpMyAdmin :D

Si ma reponse te convient, merci de l'accepter !
dimanche 28 août 2005 à 10:24:03 | Re : Problème avec l'auto-incrémentation

malik7934

voili voila!

Thanx



*****
THINK
-> SEEK -> ASK

dimanche 28 août 2005 à 12:40:13 | Re : Problème avec l'auto-incrémentation

FhX

En même temps, l'auto incrémentation est fait justement pour n'avoir que des valeurs uniques, pas pour remplacer celle qui ont existées !
dimanche 28 août 2005 à 20:13:44 | Re : Problème avec l'auto-incrémentation

Dragonblood

En fait j'ai fait une table avec la liste du personnel (nom, prenom) j'ai rajouté le champ ID pour toujours avoir le nombre exact de personne. Donc losque je rajoute une personne, le champ ID s'icrémente de 1. Mais imaginons que j'ai une liste de 20 personnes, la 13ème est en congé donc je la supprime, je me retrouve donc avec un "trou" dans mon tableau puisque les ID suivants restent fixes.
lundi 29 août 2005 à 00:36:03 | Re : Problème avec l'auto-incrémentation

Guillemouze

ca depend de comment tu veu prendre ton probleme, mais a ta place, je mettrai pas d'autoincrement, et je ferai comme la dis jojo pour les suppressions :
UPDATE `ma_table` SET id=id-1 WHERE id<' . $id
(ou $id est l'id de celui que tu vien de supprimer)
puis pour les insertions tu met
INSERT INTO `ma_table`(id, nom, prenom) SELECT MAX(id)+1, 'Durand', 'Michel' FROM `ma_table`;
en mettant 1 a la place du max si ta table est vide, et eventuellement en mettant une contrainte CHECK id <= 20 dans ta table
enfin je connai pas assez precisement ton probleme pour taider +


1 2

Cette discussion est classée dans : problème, auto, incrémentation


Répondre à ce message

Sujets en rapport avec ce message

question sur <table> [ par Dyr3e ] bonjour, je sais que mon problème n'est pas a proprement parler du php , mais j'espère que quelqu'un ici pourra m'aider. Je souhaiterais avoir un tabl problème mysql avec auto increment [ par redsungraphics ] J'ai une base avec une table contenant le champ ID type tinyint(4) en auto increment. Le problème est que l'autoindex est bloqué à 127 ce qui fait que auto incrémentation [ par bibo01 ] mon probleme et d'enregistrer des donné dans ma base de donné il ya dans dans la table aussi un champs auto incrément mais apres l'enregistrement ; av Comment mettre à jour une clé primaire en auto_incrémentation ? [ par railyandtiti ] hello !J'ai créé toute une base de donnée MySql sur easyphp, et j'ai un problème :Lorsque je supprime une ligne dans la table "Contacts" avec le code problème avec un import de fichiers..... [ par nlh ] je sais que je ne suis pas fort... :)mais j'ai un souci... :j'ai un formulaire avec un input file.. ce formulaire redirigé vers un fichier php...ce ph Cache JavaScript et images générées... [ par dominion ] Bonjour à tous !Je suis face à un problème qui a l'art de royalement m'énerver : $normal = 'images/button.php?text=text&img=submit.png';$click = 'ima problème d'affichage de données [ par plume83 ] bonjour j'ai un petit problème pour faire afficher les données de ma base dans un tableau. Mon code doit être faux mais je ne trouve pas mon erreur. Ahh problème de lien ou de session Ahh Comprend pas [ par Tiriel ] Ahh Salut!!!J'ai un problème avec le lien ci-dessous :function creertablig($result){?><br problème au niveau d'une checkbox [ par al710 ] Bonjour !!!!Je m'explique .En faite je veux réaliser un tableau en dynamique avec dans une colonne des checkbox et dans l'autre des données contenues Problème php javascript avec window. [ par beios ] Bonjour !Débutant sur le chat et en php javascript cherche de l'aide.Lorsque je clique sur le lien titre sous la photo ce n'est pas l'enregistrement


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales