[mysql/php] autoindexe suivant

Bonjour,

j’aimerai savoir comment connaitre l’autoindexe suivant dans un script php… Vu que phpmyadmin me le donne, c’est qu’il y a une requete qui le détermine. QQ’un la connait-il?

edit: j’ai vu que ca se trouvait dans SHOW TABLE STATUS, je suis donc oqp à chercher comment exploiter ce truc.
edit’: pour séléctionner une seule table on utilise SHOW TABLE STATUS LIKE ‘table’ mais je cherche encore cmt séléctionner une seule information (auto_increment)

cf. http://dev.mysql.com/doc/mysql/en/show-tables.html

Sinon tu as LAST_INSERT_ID() ou SELECT MAX(id)+1 FROM table

Qu’est-ce qui est plus performant en terme de ressource?

Je dirais SHOW TABLE pour de l’affichage détaillé,
LAST_INSERT_ID() (ou la fonction php associé mysql_last_insert_id (ou whatever the name is)), et SELECT MAX(id)+1 devrait pas être plus lent puisqu’une clef PRIMAIRE c’est rien de plus qu’un index unique avec auto incrémentation, donc en gros il va se servir directement dans l’index (et si c’est un arbre binaire, ça devrait être à la racine de celui-ci)

select max(id)+1 est dangereux en cas de d’appel concourant
si t’as deux requete en meme temps tu peux avoir le meme id …

vaut mieux utiliser le last_insert_id, cmeme pas un appel a la base puisqu’il regarde juste ce qu’a renvoyé le insert…

titib > c pour nommer l’image c ça ?

tu fait un insert et ensuite tu nomme ton image c tout :slight_smile:

non, c pour nommer le dossier dans lequel ira l’image.

Donc toi tu utiliserais last_insert_id? je vais regarder de ce coté là :slight_smile:

merci bcp pour votre aide à tous les deux (et particulièrement à quazardous pour l’autre sujet :))

désolé de vous harcler mais cmt vous utilisez LAST_INSERT_ID() j’arrive à rien trouver :S

cf. http://fr.php.net/manual/fr/function.mysql-insert-id.php

Mais ça ne fonctionne qu’à la suite d’un INSERT.

bah par définition :stuck_out_tongue: