sql >> Base de Datos >  >> RDS >> Mysql

MySQL - ignorar error de inserción:entrada duplicada

Puede usar INSERTAR... IGNORAR sintaxis si no desea realizar ninguna acción cuando hay un registro duplicado.

Puede usar REEMPLAZAR EN sintaxis si desea sobrescribir un registro antiguo con uno nuevo con la misma clave.

O bien, puede usar INSERT... ON DUPLICATE ACTUALIZACIÓN CLAVE sintaxis si desea realizar una actualización del registro cuando encuentre un duplicado.

Editar:Pensé en agregar algunos ejemplos.

Ejemplos

Digamos que tiene una tabla llamada tbl con dos columnas, id y value . Hay una entrada, id=1 y value=1. Si ejecuta las siguientes sentencias:

REPLACE INTO tbl VALUES(1,50);

Todavía tiene un registro, con id=1 value=50. Sin embargo, tenga en cuenta que todo el registro se ELIMINÓ primero y luego se volvió a insertar. Entonces:

INSERT IGNORE INTO tbl VALUES (1,10);

La operación se ejecuta correctamente, pero no se inserta nada. Todavía tienes id=1 y value=50. Finalmente:

INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;

Ahora tiene un único registro con id=1 y valor=200.