2012-02-08 17 views
5

¿Es posible averiguar cuál es el siguiente incremento automático será para mi llave primaria sin ejecutar una consulta INSERT INTO? Algunas filas se eliminan, lo que significa que no es tan fácil como agregar una a la consulta SELECCIONAR MAX en el PK. Muchas gracias.puedo averiguar la siguiente AUTO_INCREMENT para ser utilizado?

+0

¿Por qué quieres saber eso? – Mchl

+0

Sí, ver http://stackoverflow.com/questions/933565/get-auto-increment-value-with-mysql-query –

+0

Gracias. Solo tenía curiosidad por saber si podría descubrir el valor. – user114671

Respuesta

7

Si realmente quiere saber siguiente valor AUTO_INCREMENT tratar SHOW TABLE STATUS vuelve al lado Auto_increment campo, por ejemplo:

SHOW TABLE STATUS WHERE name = your_table_name; 

o

SELECT Auto_increment 
FROM information_schema.tables 
WHERE table_schema = DATABASE() AND table_name = your_table_name 
+0

si usa el primer ejemplo usando 'from' tiene que especificar un nombre de base de datos, no un nombre de tabla, puede agregar' WHERE name = your_table_name 'para obtener solo esa tabla, de si ya está usando la base de datos drop the ' DE database_name' y sólo tiene que utilizar el 'WHERE' como la respuesta a continuación –

+0

@ aron.duby, tiene usted razón, corregido. –

0

Pruebe lo siguiente:

SELECT Auto_increment 
    FROM information_schema.tables 
    WHERE table_name= 'tableName' 
    AND table_schema = DATABASE(); 
2

Puede obtener el valor mediante la ejecución de

SHOW TABLE STATUS WHERE Name = nameOfTableHere 

y luego recuperar la columna 'AUTO_INCREMENT' a partir del resultado

0

Ésta es también posible:

(SELECT (SELECT your_primary_key FROM Your_Table ORDER BY your_primary_key DESC LIMIT 1)+1); 
+0

Si va a responder una pregunta para la cual ya se ha aceptado una respuesta, dos años después de haber sido respondida, responda la respuesta correcta. Esto es incorrecto ya que no tiene en cuenta el hecho de que las filas se han eliminado, por lo que no se puede agregar una al SELECT MAX, como dije en mi publicación inicial. – user114671

+0

lo siento, soy culpable. Olvidé LIMIT. Actualizado a la solución de trabajo. SELECCIONAR Auto_increment ... no funcionó en mi situación. Es por eso que agregué una solución alternativa. – Valter

Cuestiones relacionadas