[MySql] obtenir la valeur de l'actuel AUTO-INCREMENT

Résolu
Bonjour.
Je debute en PHP en MySQL, et je voulais obtenir l'actuel valeur de l'auto-increment d'une table avant de faire mon insertion.
après insertion, je sais que je peux faire un
mysql_insert_id()
pour trouver le dernier identifiant de l'insertion précedente. mais je veux pas faire de insertion avant de savoir quel étai l'identifiant. je veux, à un moment donné, consulter la valeur actuel de mon auto-increment.
Quelqu'un peut il m'aider?
Merci d'avance pour toute tentative de réponses.

--
"L'ordinateur est une grande invention : il y a autant d'erreur qu'avant mais plus personne n'est responsable..."

4 réponses

  1. tu fais une requette en recherchant le maxi de la colone qui est en autoincrement

    $sql="SELECT MAX(id) AS max_id .......
    0
    1. ceci n'est pas toujours vrai d'autan plus que le dernier element peut avoir été supprimé. mais l'auto incrément lui, continue au suivant enrégistrement; La requete est possible, mais cela ne restera pas vrai pour toute elements. si le dernier n'a été supprimé, alors, c'est correct.
      0
  2. Salut !

    Si tu utilises l'objet PDO, tu as last_insert_id, à essayer ! Je pense que ca marche même sans avoir fait un insert into juste avant. (Equivalent de ton mysql_insert_id )

    Sinon il doit y avoir un trigger quelque part pour l'auto increment, reste juste à le trouvé !
    0
    1. merci à tous,
      vous avez été d'une grande aide. j'utilise la méthode de elghafoud.
      Thk a Alain_42
      0
      1. et comme ça:

        $query = 'SHOW TABLE STATUS';
        	$result = mysql_query($query) or ;
        	//On parcours les ligne de resultats
        	while( $infos_tables = mysql_fetch_array($result) )
        	{
        		//Si le nom de la table $infos_tables[0] == au nom de la table dont vous voulez l'autoincrement ...
        		if( $infos_tables[0] == 'nom_de_ta_table' )
        			$id_autoincrement = $infos_tables[10];
        	}
        -1
        1. correct Alain_42, mais c'est une function a réaliser là. j'ai cru à une simple instruction mysql ou PHP.
          Merci pour la réponse. je laisse le sujet ouvert, pour toute eventuelle réponse avec moins d'instruction.
          0
        2. La méthode qu'Alain a donné est la plus rapide mais pas besoin du while:
          $result = mysql_query("SHOW TABLE STATUS LIKE 'table_name'");
          $row = mysql_fetch_array($result);
          $nextId = $row['Auto_increment'];
          mysql_free_result($result);
          0
        3. si plusieurs tables dans la base il faut une boucle while pour comparer le nom de la table avec lindex[0]
          et récupérer l'autoincrement dans l'index[10]
          0
        4. Merci les amis pour la solution

          La méthode qu'Alain a donné est la plus rapide mais pas besoin du while:
          $result = mysql_query("SHOW TABLE STATUS LIKE 'table_name'");
          $row = mysql_fetch_array($result);
          $nextId = $row['Auto_increment'];

          ceci m'a enormemant aider
          0