Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum 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 25/01/2011, 10h27   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut Récupérer valeur auto-incrément après requête DELETE

Bonjour à toutes et tous,

Soit une table X avec une clé primaire ID auto-incrément.

Phase 1 : elle est vide.
puis Phase 2 : 4 lignes insérées. ID = 4 et auto-incrément = 5.

Phase 3 : requête PHP DELETE sur la ligne 4. ID = 3 et auto-incrément = 5

Question : comment récupérer l'A-I 5 sans avoir à le recaler après la requête DELETE ?

Parce que :

Code :
1
2
3
4
5
6
 
function prochain_id(){
$sql = mysql_query("SELECT MAX(id) FROM table");
$row = mysql_fetch_row($sql);
return $row[0] + 1;
}
...évidemment retourne 4.
Or j'ai besoin de connaître l'ID réel du prochain enregistrement, l'auto-incrément, donc, et pas le dernier ID + 1.

Merci d'avance pour vos lumières.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 12h16   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Code :
1
2
 
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME="<table>";
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 12h31   #3
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Woaw !!!


Bonjour et merci pour le tuyau : je me coucherai un peu moins crétin ce soir !
Nickel !

Je suppose que tu as mis les < et > autour du nom de table pour les "caractères à remplacer". Pour ceux que ça intéresseraient :

Code :
1
2
 
mysql_query("SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME='ma_table' ");
Retourne bien l'auto-incrément, soit l'ID à venir.
Génial. Encore merci et bonne journée.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 12h36   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Je suppose que tu as mis les < et > autour du nom de table pour les "caractères à remplacer".
Tout à fait.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre 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 02h51.


 
 
 
 
Partenaires

Hébergement Web