"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se inserta MySQL ... en Duplicate Key Update Many Operations?

¿Cómo se inserta MySQL ... en Duplicate Key Update Many Operations?

Publicado el 2025-02-26
Navegar:227

How Does MySQL's INSERT ... ON DUPLICATE KEY UPDATE Handle Upsert Operations?

Operación eficiente de Upsert para mysql: usando insertar ... en la actualización de la tecla duplicada

]

En MySQL Database Management, a menudo es necesario realizar operaciones como insertar nuevas filas o actualizar las filas existentes en función de si los datos existe. Esto se llama operación "Upsert" (insertar o actualizar).

mysql proporciona la sintaxis insertar ... en duplicate key para implementar eficientemente la función Upsert. Su principio de trabajo es el siguiente:

INSERT INTO `table_name`
(`column1`, `column2`, ...)
VALUES
(value1, value2, ...)
ON DUPLICATE KEY UPDATE
`column1` = value1_updated,
`column2` = value2_updated,
...
La cláusula

insertar especifica el valor que se insertará en la tabla. en la cláusula de la clave duplicada define la acción que se realizará cuando hay una fila con la misma clave primaria (o índice único) en la tabla.

Por ejemplo, considere la siguiente tabla:

CREATE TABLE `usage` (
    `thing_id` INT NOT NULL PRIMARY KEY,
    `times_used` INT DEFAULT 0,
    `first_time_used` TIMESTAMP
);

Si desea insertar nuevos datos para la fila con thing_id de 4815162342, agregue 1 a la columna times_used y set primero_time_used a la campaña de tiempo actual, Puede usar la consulta de seguimiento de Upsert:

INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used`   1

Si la fila con thing_id de 4815162342 ya existe, la consulta actualizará la columna times_used , mientras first_time_used sigue sin cambios. De lo contrario, se insertará una nueva línea.

Insertar ... En Duplicate Key Update es una tecnología flexible y eficiente para realizar operaciones UPSERT en MySQL. Le permite realizar operaciones de inserción y actualización con una sola consulta, simplificando el código y mejorando el rendimiento.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3