Obtener el Valor Autoincrementado en MySQL/MariaDB


Que tal, este es mi primer post sobre tema de programacion, al menos en el area de base de datos.

La intension es tener una anotacion mas que un post tutorial, pero espero que a alguien le sirva como referencia.

Bien, basicamente es una traduccion de una de las paginas de desarrollo de MySQL, la cual pueden encontrar en MySQL Connector /ODBC Developer Guide :: Obtaining Auto-Increment Values

Obtener el valor autoincrementado


Obtener el valor de una columna que utiliza AUTO_INCREMENT posterior a una sentencia INSERT se puede lograr en diferentes formas. Para obtener el valor inmediatamente posterior al INSERT, se puede usar una sentencia SELECT con la funcion LAST_INSERT_ID

Por ejemplo, usando Connector/ODBC, puedes ejecutar dos sentencias por separado, la sentencia INSERT y SELECT para obtener el valor de incremento, es decir:

INSERT INTO tbl (auto, text) VALUES(NULL, 'Este es un texto');
SELECT LAST_INSERT_ID();


Si no se requiere el valor en tu aplicacion al realizar el INSERT, pero si lo requieres para como parte de otro INSERT (por ejemplo una tabla de detalles), el proceso completo seria:


INSERT INTO tbl (auto, text) VALUES (NULL, 'Este es un texto');
INSERT INTO tbl2(di, text) VALUES(LAST_INSERT_ID(), 'Detalle del texto');


La funcion puede ser utilizada tanto en procedimientos almacenados (STORE PROCEDURES), funciones de usuarios y triggers.

Esperando que sea de ayuda a mas de uno, nos leemos en el proximo post.

Saludos

Entradas populares de este blog

Desactivando NetworkManager

Configurando interfaces de red virtuales en Linux

Como montar particiones LVM en Linux