Récupérer la derniere valeur d'un champ id.
Fermé
noviceHTML
Messages postés
3
Date d'inscription
mardi 31 mai 2011
Statut
Membre
Dernière intervention
22 juin 2011
-
22 juin 2011 à 11:25
java4ever - 1 juil. 2011 à 13:55
java4ever - 1 juil. 2011 à 13:55
A voir également:
- Récupérer la derniere valeur d'un champ id.
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Supprimer dernière page word - Guide
4 réponses
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
Modifié par Meoran le 22/06/2011 à 11:46
Modifié par Meoran le 22/06/2011 à 11:46
Si le champ est toujours incrémenté et jamais décrémenté, tu peux utiliser la fonction SQL MAX().
Parce que lastval() est fait pour répondre exactement à ta demande, mais ça m'étonnerait que cela marche sur un champ non autoincrement :/
Parce que lastval() est fait pour répondre exactement à ta demande, mais ça m'étonnerait que cela marche sur un champ non autoincrement :/
noviceHTML
Messages postés
3
Date d'inscription
mardi 31 mai 2011
Statut
Membre
Dernière intervention
22 juin 2011
22 juin 2011 à 11:43
22 juin 2011 à 11:43
J'utilise Wamp server 5
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
22 juin 2011 à 11:46
22 juin 2011 à 11:46
Et alors ? Ca ne change rien...
noviceHTML
Messages postés
3
Date d'inscription
mardi 31 mai 2011
Statut
Membre
Dernière intervention
22 juin 2011
22 juin 2011 à 12:12
22 juin 2011 à 12:12
J'en sais rien moi je suis novice, je précise pour vous donner un max d'informations. Plus vous en savez plus il vous est facile de répondre.
Bonjour,
Comme tu le dis, plus il y a d'infos, plus on a de chance de trouver, donc :
Si tu as vu que l'ID en question n'est pas auto-incrément, c'est qu'il y a une autre méthode pour garantir qu'il est unique :
ça pourrait être une séquence, mais comme tu utilise Mysql (avec wamp),
il ne peut s'agir d'une vraie sequece comme sous Oracle.
Par contre, il pourrait y avoir une table qui sert à fabriquer des pseudo-séquences : c'est souvent une table qui contient une liste de nom de table avec pour chacune le dernier ID utilisé (parfois le prochain à prendre, mais plus rarement)
Pour le savoir, il faut soit regarder si ta table a des triggers (sur insert) qui contiendrait du code pour récupérer cet id ou le code (php, java ou autre) qui a inséré les lignes dans ta table, si c'est une application qui a créé ces lignes.
La dernière option serait que ce soit toi qui ais créé la table, et dans ce cas tu peux te permettre d'utiliser le Max() à condition de toujours insérer avec MAX() + 1
Mais dans ce cas pourquoi ne pas utiliser l'auto-increment ?
En espérant que cela t'aide
Comme tu le dis, plus il y a d'infos, plus on a de chance de trouver, donc :
Si tu as vu que l'ID en question n'est pas auto-incrément, c'est qu'il y a une autre méthode pour garantir qu'il est unique :
ça pourrait être une séquence, mais comme tu utilise Mysql (avec wamp),
il ne peut s'agir d'une vraie sequece comme sous Oracle.
Par contre, il pourrait y avoir une table qui sert à fabriquer des pseudo-séquences : c'est souvent une table qui contient une liste de nom de table avec pour chacune le dernier ID utilisé (parfois le prochain à prendre, mais plus rarement)
Pour le savoir, il faut soit regarder si ta table a des triggers (sur insert) qui contiendrait du code pour récupérer cet id ou le code (php, java ou autre) qui a inséré les lignes dans ta table, si c'est une application qui a créé ces lignes.
La dernière option serait que ce soit toi qui ais créé la table, et dans ce cas tu peux te permettre d'utiliser le Max() à condition de toujours insérer avec MAX() + 1
Mais dans ce cas pourquoi ne pas utiliser l'auto-increment ?
En espérant que cela t'aide