Mysql
 sql >> Database >  >> RDS >> Mysql

inserto MySQL su chiave duplicata; Elimina?

È 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.