Es una solución alternativa, pero funciona:
Crea una nueva columna y llámala do_delete
, o lo que sea, convirtiéndolo en un tiny-int. Luego haz On Duplicate Key Update do_delete = 1;
Dependiendo de su versión/conexión de MySQL, puede ejecutar múltiples consultas en la misma declaración. Sin embargo, si no, simplemente ejecute una consulta separada inmediatamente después. De cualquier manera, la siguiente consulta sería simplemente:Delete From [table] Where do_delete = 1;
. De esta forma, si es una entrada nueva, no borrará nada. Si no era una entrada nueva, la marcará para su eliminación y luego podrá eliminarla.