Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de 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 22/05/2007, 15h26   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Par défaut Pb de récupération du maximum du numéro

Bonjour

Voilà mon but est d'enregistrer des données et que pour chaque enregistrement, il lui soit attribué un numéro unique qui s'incrémente.

Voilà ce que j'ai fait, et je n'arrive pas à récupérer ce que récupère pourtant ma requête quand je la tape sous EasyPhp dans la partie administration !

Code :
1
2
3
4
5
6
7
8
9
 
$request="SELECT MAX(Complaint_number) FROM complaint";
	$result=mysql_query($request);
	$find=mysql_fetch_row($result);
 
             $NbC=$result+1;
 
	//Request
	$request="INSERT INTO complaint (Complaint_number, Complaint_reception_date, Description, Incident_Request_number, Natco, LOS, 	Complainant_name) VALUES ('$NbC','$DateRec','$Desc','$IncNb','$Natco','$Los','$CompName')";
Je pense tout simplement ne pas avoir bien compris où se stoque le résultat de la requête
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 16h45   #2
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Autant passer le champ Complaint_number en AUTO INCREMENT... C'est fait pour ça !
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 17h12   #3
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Oui mais justement quand je le passe en autoincrement je ne comprends pas pourquoi il part à partir de 2000 !
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 08h29   #4
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
As-tu déjà des données dans ta table ?

Si oui, l'auto incrément va démarrer à la valeur maximale + 1 des identifiants de ta table

Exemple (en simplifiant la structure) :
Code :
1
2
3
4
Complaint_number    Description
1                   Test
40                  Test 2
45                  Test 3
Si tu fais :
Code :
ALTER TABLE complaint MODIFY Complaint_number INTEGER AUTO_INCREMENT;
Le prochain enregistrement inséré sera :
Code :
1
2
Complaint_number    Description
46                  Ajout AUTO INCREMENT
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 09h12   #5
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Ben justement non, j'ai supprimé toutes les données de ma table pour qu'il commence à 0, et ça ne fonctionne pas. Mais j'ai trouvé un code pour le faire, donc j'ai résolu mon problème de comment faire, par contre je ne comprends pas pourquoi mon auto increment commence à 2000.
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 09h38   #6
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Pour repartir à 1 :
Code :
1
2
ALTER TABLE complaint 
AUTO_INCREMENT = 1
Sinon :
vide une table et remet l'autoincrément à 1
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h43.


 
 
 
 
Partenaires

Hébergement Web