Muchas veces nos hemos encontrado en la necesidad de obtener el valor de un AUTO_INCREMENT de una tabla de la base de datos. En mi caso estaba desarrollando Unit Testing con WordPress y PHP y necesitaba saber exactamente cual era el valor del auto incremento, pero sea tu caso este o alguno diferente en este post te voy a enseñar como obtenerlo. Soy desarrollador avanzado de Plugins de WordPress.
Si estas buscando una respuesta rápida el AUTO_INCREMENT lo obtienes de la siguiente manera:
SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "tuBaseDeDatos"
AND TABLE_NAME = "tuTabla"
Ahora veamos un ejemplo desde la creación de la tabla hasta una consulta:
CREATE DATABASE rh;
CREATE TABLE empleados (
id INT(10) PRIMARY KEY NOT NULL AUTO_INCREMENT,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
departamento INT(10) NOT NULL,
salario DOUBLE
);
Con el DDL anterior hemos creado una base de datos llamada “rh” y una tabla “empleados”. La tabla empleados tiene una llave primaria “id”, esta llave contiene un atributo AUTO_INCREMENT, este atributo es lo que hace que cada que se inserte un registro se guarde un valor entero subsecuente al registro anterior. Si no existe un valor anterior el primer valor es 1.
Vamos a insertar un registro:
INSERT INTO empleados(nombre, apellido, departamento, salario)
VALUES('Alejandro','Mancinas',4,2550.50);
Una vez insertado el registro lo podemos consultar de la siguiente manera:
SELECT * FROM empleados;
OBTENER EL AUTO_INCREMENT
Como podemos observar en la imagen el “id” es el numero 1, entonces sabemos que el siguiente es el numero dos, pero usando la consulta para obtener el siguiente valor lo vamos a comprobar:
SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "rh"
AND TABLE_NAME = "empleados";
CERRANDO
Podemos ver que obtener el valor siguiente de un AUTO_INCREMENT es bastante facil. Esto a veces es muy necesario porque si quieres hacer uso del “id” y necesitamos obtenerlo para poder completar nuestro objetivo.
He creado un Fiddle donde puedes hacer las pruebas en vivo de este ejemplo para que los veas de inmediato, sigue el siguiente link.