Quiero añadir una fila a una tabla de la base de datos, pero si existe una fila con la misma clave única quiero actualizar la fila.
Por ejemplo,
insert into table (id, name, age) values(1, "A", 19)
Digamos que la clave única es id
, y en mi base de datos hay una fila con id = 1
. En ese caso quiero actualizar esa fila con estos valores. Normalmente esto da un error. Si utilizo insert IGNORE
ignorará el error, pero seguirá sin actualizar.
Utilice INSERT ... ON DUPLICATE KEY UPDATE
CUESTA:
INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE
name="A", age=19
Compruebe el REEMPLAZO
http://dev.mysql.com/doc/refman/5.0/en/replace.html
REPLACE into table (id, name, age) values(1, "A", 19)