[MySql] id du dernier enregistrement [Résolu/Fermé]

Signaler
Messages postés
340
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
20 mars 2007
-
 Général -
Bonjour,
J'ai une table où la clé primaire est un champ "Id", entier en auto-increment.
Je voudrais savoir comment connaître, quand j'ajoute un enregistrement, la valeur de ce champ pour cet enregistrement que je viens d'ajouter.
ie, quelle est la commande pour avoir le dernier enregistrement d'une table
Merci.

8 réponses

Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
381
Essaye plutot la fonction Mysql suivante: last_insert_id()
SELECT LAST_INSERT_ID() FROM table

(regarde quand même la doc pour être sur)
50
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

mysql_query("insert into table values(*******)");
$dernier_id = mysql_insert_id ();
Messages postés
3635
Date d'inscription
jeudi 24 avril 2003
Statut
Contributeur
Dernière intervention
11 septembre 2005
306
Salut,

Je ne connais pas MySQL, mais essaye simplement :
SELECT max(Id) FROM table
-= Fu Xuen =-
Salut . tu n'y connais peut etre rien mais tu es vraiment de tres bon conseil, ca marche. merci
merci ça marche bien
Conerie, si tu supprime un champs, l'id peut être réutilisé en cas de table lourde. Autrement dit, un max(Id) ne te donnera pas toujours la bonne valeur
salut merci beaucoup, tu m'a aidé
Messages postés
340
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
20 mars 2007
85
Merci merci!!!
:-)))
Bonjour ca va?? j'espere que oui ^_^

J'ai un probleme que j'arrive pa à résoudre SVPPPPPPPPPPP aider moi

Voila le probléme: j'ai une table dans ma base de donnée qui s'appelle reference, cette table contient 3 champs:
Code_Ref: c'est une clé primaire de type int.
Nom_Fam: de type varchar.
Num_Ref : de type int.
dans ma page web j'ai 3 formulaires avec un bouton ajouter pour ajouter un nouveau reference, mai le probleme c'est quand je clique sur valider seulement les champs Nom_Fam et Num_Ref qui s'ajoutent au base de donnée et le champs de clé primaire toujours reste égale à zero.

voila mon code enregistrer_reference.php:
<?php


//on commence par les champs

if(isset($_POST['Code_Ref']))

$Code_Ref=addslashes($_POST['Code_Ref']);

else

$Code_Ref="";

if(isset($_POST['Nom_Fam']))

$Nom_Fam=addslashes($_POST['Nom_Fam']);

else

$Nom_Fam="";



if(isset($_POST['Num_Ref']))

$Num_Ref=addslashes($_POST['Num_Ref']);

else

$Num_Ref="";

// on écrit la requête sql
$sql = "INSERT INTO reference (Code_Ref, Nom_Fam, Num_Ref) VALUES('$Code_Ref','$Nom_Fam','$Num_Ref')";
$a=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());



mysql_close(); // on ferme la connexion



?>
Merci d'avance
Bonjour,
Peut-être un peu tard, mais voici peut-être la solution à ton PB
As-tu mis ton index Code_Ref à la propriété AUTO-INCREMENT dans ta base SQL?
a mon avis Sparkle à complétement raison,oui, sinon pour ma part je ne voit pas d'autre erreur ! (eh oui l'auto increment quand il est activé...cause pas mal de dégat sur ce genre (mauvaise) programmation ^^)
merciiiiiiii beaucoup de votre répense j'ai désactivé la propriété Auto-incrémente.
bonne journé ^-^
faut pas tjs regarder loin ^^, le 3/' des erreur sont tjs des fautes d'inatentions :)
hhh oui c vrai :D
Voila une simple requete  :D

SELECT id FROM monTable
ORDER BY id DESC
LIMIT 1; 
et comment fais-tu si un autre user fait un insert entre temps ? ^^
Bonjour,

Pour compléter cette discussion le : LAST_INSERT_ID() récupère le dernier enregistrmenet inséré par le traitement en cours . Donc , même si quelqu'un fait un insert entre temps ....... la valeur de l'id retournée sera la bonne.

Cordialement
Et si il s'agit d'insertion multiple? LAST_INSERT_ID() selectionnera toujours le dernier inséré? Parce que le résultat de ma requête est multiple.

SELECT LAST_INSERT_ID(IM_ID) AS cpt FROM images

Merci
Messages postés
51
Date d'inscription
samedi 14 juin 2008
Statut
Membre
Dernière intervention
28 août 2008
9
il devrait donner l id du dernier enregistrement en fonction de l'ordre des enregistrements ^^