Prochain id

Eléphanteau du PHP | 38 Messages

30 mai 2007, 13:34

Bonjour à tous,

J'aimerais savoir s'il existe une fonction comme mysql_insert_id, mais qui retournerai le prochain ID qui sera inséré dans la table ??

J'ai beau cherché, je trouve pas ...

Merci d'avance

ViPHP
ViPHP | 2291 Messages

30 mai 2007, 14:13

Bonjour à tous,

J'aimerais savoir s'il existe une fonction comme mysql_insert_id, mais qui retournerai le prochain ID qui sera inséré dans la table ??

J'ai beau cherché, je trouve pas ...

Merci d'avance
Et si tu récupère la dernière id à laquelle tu ajoute +1 c'est pas bon ?
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Petit nouveau ! | 7 Messages

30 mai 2007, 14:59

Dans le genre :

Code : Tout sélectionner

select id from ma_table order by id desc limit 1;
@+

Eléphant du PHP | 377 Messages

30 mai 2007, 15:00

nan, la méthode du +1 ne marchera pas dans tous les cas
ceci par contre :

Code : Tout sélectionner

SHOW TABLE STATUS FROM mabase LIKE 'monchamp'
te renvoie tout plein d'infos, donc "Auto_increment", qui est la valeur que tu cherches ;)
Petit scarabée deviendra grand

Eléphanteau du PHP | 38 Messages

30 mai 2007, 16:40

Merci à vous, c'est très sympa et ca marche(j'ai essayé :lol: ) , mais j'avais oublié de préciser :
Je voudrais pouvoir le faire sans requêtes, car, c'est bien pour m'eviter une requête supplémentaire que je cherchais ceci.... :roll:

Apparement, après d'autre demande et d'autre recherche, cette fonction miraculeuse n'existerai pas....à moins que ??

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

30 mai 2007, 17:51

Heu sans requête ?
Mais c'est le SGBD qui gère les ID, c'est lui qui sait où il en est et qui stocke cette valeur, pour que si tu l'interroges dans 300 ans, il incrémente le champ en auto_increment à la bonne valeur.

Tu ne peux pas d'un côté utiliser l'auto incrémentation et de l'autre ne pas demander cette valeur à la base !
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 38 Messages

30 mai 2007, 18:11

Oui, oui, je sais bien....mais je me suis basé, sans trop réfléchir ( :oops: honte sur moi) sur mysql_insert_id()....je pensais que "l'inverse" existait.

Tant pis, je me suis débrouillé avec une requête en plus.

Merci à tous !