¿Cómo obtengo el valor actual de AUTO_INCREMENT para una tabla en MySQL?
mysql
auto-increment
bparise
fuente
fuente
Respuestas:
Puede obtener todos los datos de la tabla utilizando esta consulta:
Puede obtener exactamente esta información utilizando esta consulta:
fuente
DATABASE()
lugar del nombre explícito de la base de datos.SELECT MAX(id) FROM table_name
?Creo que estás buscando la función LAST_INSERT_ID () de MySQL . Si está en la línea de comando, simplemente ejecute lo siguiente:
También puede obtener este valor a través de una consulta SELECT:
fuente
Si solo desea conocer el número, en lugar de obtenerlo en una consulta, puede usar:
Debería ver el aumento automático en la parte inferior
fuente
1
.Aunque la respuesta de methai es correcta si ejecuta manualmente la consulta, se produce un problema cuando 2 transacciones / conexiones concurrentes realmente ejecutan esta consulta en tiempo de ejecución en producción (por ejemplo).
Intenté manualmente en MySQL workbench con 2 conexiones abiertas simultáneamente:
Transacción 1:
Transacción 2:
La inserción de la transacción 1 está bien: la inserción de la transacción 2 presenta un error: Código de error: 1062. Duplicar la entrada '21' para la clave 'PRIMARIO'.
Una buena solución sería la respuesta de jvdub porque por transacción / conexión los 2 insertos serán:
Transacción 1:
Transacción 2:
¡Pero tenemos que ejecutar last_insert_id () justo después de la inserción! ¡Y podemos reutilizar esa identificación para insertarla en otras tablas donde se espera una clave foránea!
Además, no podemos ejecutar las 2 consultas de la siguiente manera:
¡porque en realidad estamos interesados en obtener / reutilizar esa ID en otra tabla o regresar!
fuente
last_insert_id()
AUTO_INCREMENT
valor.código de muestra ejecutable de mysqli:
fuente
Si la columna se autoincrementa en el servidor SQL, para ver el valor autoincrementado actual, y si desea editar ese valor para esa columna, use la siguiente consulta.
fuente
Consulta para verificar el porcentaje de "uso" de AUTO_INCREMENT para todas las tablas de un esquema dado (excepto columnas con tipo bigint sin signo ):
fuente
Estaba buscando lo mismo y terminé creando un método estático dentro de una clase Helper (en mi caso, lo llamé App \ Helpers \ Database).
El método
Para llamar al método y obtener el MySQL AUTO_INCREMENT simplemente use lo siguiente:
Espero eso ayude.
fuente