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

¿ACTUALIZAR/ELIMINAR en mysql y obtener la lista de ID de filas afectadas?

Puede crear un Disparador

el siguiente código crea un disparador en una tabla llamada mytable que tiene un campo id

CREATE TRIGGER mytable_delete
AFTER DELETE ON mytable
FOR EACH ROW SET @deletedIDs = CONCAT_WS(',', @deletedIDs, OLD.id)

observe que OLD se refiere a la fila eliminada

una vez que haya creado un disparador en una tabla, puede usarlo de la siguiente manera:

/* empty parameter defined in CREATE TRIGGER */
Set @deletedIDs = '';
/* perform your query */
DELETE FROM mytable WHERE myotherfield = 'myfilterevalue';
/* get the parameter */
SELECT @deletedIDs AS 'Deleted_IDs';

esto devolverá los ID eliminados, cada uno precedido por una coma en una cadena