È una soluzione alternativa, ma funziona:
Crea una nuova colonna e chiamala do_delete
, o qualsiasi altra cosa, rendendolo un tiny-int. Quindi esegui On Duplicate Key Update do_delete = 1;
A seconda della versione/connessione di MySQL, puoi eseguire più query nella stessa istruzione. Tuttavia, in caso contrario, eseguire immediatamente una query separata subito dopo. Ad ogni modo, la query successiva sarebbe semplicemente:Delete From [table] Where do_delete = 1;
. In questo modo, se è una nuova voce, non cancellerà nulla. Se non era una nuova voce, verrà contrassegnata per l'eliminazione, quindi potrai eliminarla.