20160225

Insertar sin Duplicar

Hay muchos dolores de cabeza cuando se duplica un registro, para esto MariaDB nos proporiciona la variante IGNORE en la Opcion INSERT, pero antes de hacer esto hay que considerar 2 cosas:
  1. El archivo My.INI debe contener la variable innodb_autoinc_lock_mode = 0, este es el modo tradicional de bloqueo para auto_increment, con esto nos aseguramos que la variable llave sea consecutivo. En modo 1 todas las transacciones son tomadas en cuenta, incluso las ignoradas y las nuevas no son consecutivas de la ultima inserccion.
  2. Cuando se crea la tabla debemos especificar la columna que deseamos que sea Unica con la variante UNIQUE, ejemplo:

    create table(id integer auto_increment, ruta varchar(100), primary key (id), unique key(ruta)); 
Despues de esto ya podemos hacer INSERT IGNORE,REMPLACE o LOAD DATA INFILE 'archivo' IGNORE INTO TABLE tabla.

Ya no la caguen. prrrrrrrrrr

No hay comentarios:

Publicar un comentario