Blog de Gonzalo

INSERT IGNORE EN MYSQL

Hoy quiero comentar el uso de insert ignore en mysql que resulta bastante útil para evitar ciertas duplicidades en las bases de datos. La sintaxis es muy parecida a la del insert into simplemente es añadir la cláusula "ignore": INSERT IGNORE INTO tabla(columna1, columna2) VALUES (valor1, valor2);. La gran diferencia, con insert into. es que si encuentra valores repetidos va a ignorarlos, evitando un error de duplicidad. Los valores que va a tomar como valores repetidos son los indicados como índices o únicos (unique). Ahora pensareis que si un campo está marcado como unique no dejará insertar valores repetidos y saltará un error pero si usamos insert ignore no dará error sino un aviso. Un uso sería en aquellas tablas en donde se necesita que una columna sea única pero al mismo tiempo se necesite permitir valores duplicados (aunque realmente no se duplicarían, sólo se ignorarán) y que en caso de que alguien introduzca el mismo valor no pase nada: ni errores ni valores duplicados.