Blog de Gonzalo

REEMPLAZAR REGISTROS EN MYSQL

Existe una sentencia, que es una alternativa al INSERT INTO, en la que se diferencia en que si existe algún registro en la base de datos con el mismo valor para una clave primaria o única, se elimina el viejo y se crea el nuevo registro con los nuevos valores.REPLACE INTO funciona como INSERT INTO cuando los nuevos datos no afectan el campo definido como PRIMARY KEYen caso de que la tuviese, simo la tuviese se insertarían los datos como si se usase INSERT INTO. Ejemplo:



codigo	 titulo		autor		precio
_______________________________________________
1 Don Quijote Cervantes 25.0
2 El aleph Borges 23.0
//Aparece un mensaje de error indicando que hay registros duplicados. insert into libros values(2,'Los miserables','Víctor Hugo',30.2);
//Usando "replace" la sentencia se ejecuta y aparece un mensaje indicando que se afectaron 2 filas, esto es porque un registr se eliminó y se ha creaod un registro nuevo. replace into libros values(2,'Los miserables','Víctor Hugo',30.2);

Si no se quiere usar REPLACE INTO se puede usar INTO INTO de la siguiente manera:

 INSERT INTO tabla (campo1, campo2) VALUES  ('value1', 'value2') ON DUPLICATE KEY UPDATE campo1=cmapo1;

Compartir en twitter