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

inserción condicional mysql - si no existe insertar

Usa REPLACE - funciona exactamente como INSERTAR, excepto que si una fila anterior en la tabla tiene el mismo valor que una fila nueva para una CLAVE PRINCIPAL o un índice ÚNICO, la fila anterior se elimina antes de que se inserte la fila nueva.

http://dev.mysql.com/doc/refman/5.0 /es/reemplazar.html

-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345) 

Editar:dado que no puede usar REEMPLAZAR, otra opción es:establecer índices de restricción para los datos de la tabla (clave principal, unicidad) y usar INSERTAR IGNORAR

INSERT IGNORE INTO table_name
SET name = 'phill',
    value = 'person',
    id = 12345;