MariaDB: función LAST_INSERT_ID

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 sitioNombre del sitioapodo del servidor
1TechOnTheNet.commi 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 sitioNombre del sitioapodo del servidor
1TechOnTheNet.commi servidor
2CompruebaTusMatemáticas.comtu 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 sitioNombre del sitioapodo del servidor
1TechOnTheNet.commi 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 sitioNombre del sitioapodo del servidor
1TechOnTheNet.commi servidor
2CompruebaTusMatemáticas.comtu servidor
3BigActivity.comnuevo 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.

(Visited 8 times, 1 visits today)