Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MariaDB: función LAST_INSERT_ID
Este tutorial de MariaDB explica cómo usar MariaDB Función LAST_INSERT_ID Con sintaxis y ejemplos.
describir
La función LAST_INSERT_ID de MariaDB devuelve el primer valor AUTO_INCREMENT establecido por la declaración INSERT o UPDATE más reciente que afecta a una columna AUTO_INCREMENT.
sintaxis
La sintaxis de la función LAST_INSERT_ID en MariaDB es:
LAST_INSERT_ID( [expression] )
parámetro o parámetro
La expresión es opcional. Si se especifica una expresión, LAST_INSERT_ID devuelve el valor y se recuerda como el siguiente valor devuelto por la función LAST_INSERT_ID.
notas
- Si la declaración INSERT o UPDATE más reciente estableció más de un valor AUTO_INCREMENT, la función LAST_INSERT_ID devuelve solo el primer valor AUTO_INCREMENT.
- La función LAST_INSERT_ID devuelve el último valor de AUTO_INCREMENT por cliente, por lo que solo devolverá el último valor de AUTO_INCREMENT para su cliente. Este valor no se ve afectado por otros clientes.
- Ejecutar la función LAST_INSERT_ID no afecta el valor devuelto por LAST_INSERT_ID.
aplicar para
La función LAST_INSERT_ID está disponible en las siguientes versiones de MariaDB:
- María Base de datos 10
ejemplo
Veamos algunos ejemplos de la función LAST_INSERT_ID de MariaDB y exploremos cómo usar la función LAST_INSERT_ID en MariaDB.
Por ejemplo, si tenemos la siguiente tabla del sitio con un campo AUTO_INCREMENT llamado site_id:
CREATE TABLE sites ( site_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, site_name VARCHAR(50) NOT NULL, server_name VARCHAR(50) );
La tabla del sitio contiene los siguientes registros:
Identificación del sitio | Nombre del sitio | apodo del servidor |
---|---|---|
1 | TechOnTheNet.com | mi servidor |
Ejecutamos la siguiente instrucción INSERT:
INSERT INTO sites (site_name, server_name) VALUES ('CheckYourMath.com', 'YourServer');
La tabla del sitio ahora se ve así:
Identificación del sitio | Nombre del sitio | apodo del servidor |
---|---|---|
1 | TechOnTheNet.com | mi servidor |
2 | CompruebaTusMatemáticas.com | tu servidor |
Si ejecutamos la función LAST_INSERT_ID de la siguiente manera:
SELECT LAST_INSERT_ID(); Result: 2
La función LAST_INSERT_ID devolverá 2 porque la última declaración INSERT insertó un registro en la tabla del sitio con un site_id (es decir: valor AUTO_INCREMENT) de 2.
Afecta a múltiples valores AUTO_INCREMENT
Echemos un vistazo rápido a cómo se comportaría la función LAST_INSERT_ID si el INSERT más reciente tuviera varios valores AUTO_INCREMENT establecidos. En otras palabras, qué sucede si insertamos 2 registros en la última instrucción INSERT.
Miremos nuevamente la tabla del sitio con un campo AUTO_INCREMENT llamado site_id:
CREATE TABLE sites ( site_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, site_name VARCHAR(50) NOT NULL, server_name VARCHAR(50) );
La tabla del sitio contiene los siguientes registros:
Identificación del sitio | Nombre del sitio | apodo del servidor |
---|---|---|
1 | TechOnTheNet.com | mi servidor |
Ejecutamos la siguiente instrucción INSERT para insertar múltiples registros en la tabla del sitio:
INSERT INTO sites (site_name, server_name) VALUES ('CheckYourMath.com', 'YourServer'), ('BigActivities.com', 'NewServer');
Después de ejecutar esta declaración INSERT, la tabla de sitios ahora se ve así:
Identificación del sitio | Nombre del sitio | apodo del servidor |
---|---|---|
1 | TechOnTheNet.com | mi servidor |
2 | CompruebaTusMatemáticas.com | tu servidor |
3 | BigActivity.com | nuevo servidor |
Como puede ver, la declaración INSERT insertó 2 nuevos registros en la tabla del sitio (site_id=2 y site_id=3).
Ahora cuando ejecutamos la función LAST_INSERT_ID de la siguiente manera:
SELECT LAST_INSERT_ID(); Result: 5
La función LAST_INSERT_ID devolverá 2 porque el registro con site_id=2 es el primer valor AUTO_INCREMENT establecido por la instrucción INSERT más reciente.