MySQL: elimine todas las filas no solo actualizadas

La idea es que después de recorrer un formulario de envío, todas las filas no solo actualizadas por el formulario sean eliminadas de la base de datos.

¿Hay alguna statement elegante de MySQL para algo así?

No. Almacene los PK y use NOT IN después para borrar.

podría tener una columna de marca de tiempo en la tabla. todas las filas que se actualicen tendrán la marca de tiempo actual. y luego puede ejecutar una consulta de eliminación seleccionando todas las filas que tendrían sus marcas de tiempo menores que el tiempo aproximado cuando actualizó la tabla. no una solución a prueba completa sin embargo.

otro sería establecer el valor de algunas columnas durante la actualización, y luego eliminar las filas cuyo valor de columna no se actualizó

¿Qué tal una condición invertida?

Update tbl set this = that donde col = ‘algo’; Eliminar de tbl where col! = ‘Something’;

Eliminar antes de la mano es peligroso; ¿Qué pasa si un usuario cierra el navegador? La ayuda para almacenar claves primarias es una opción. Lo más simple terminó siendo esto:

1) Establezca todas las fechas de fila coincidentes a algo así como el 1 de enero de 1970. 2) Envíe el formulario, incluida la hora actual en las filas actualizadas. 3) Eliminar todas las filas con fecha anterior.

Funciona muy bien