Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

UPDATE/DELETE no mysql e obtenha a lista de ids de linha afetadas?


Você pode criar um Trigger

o código a seguir cria um gatilho em uma tabela chamada mytable que tem um campo id
CREATE TRIGGER mytable_delete
AFTER DELETE ON mytable
FOR EACH ROW SET @deletedIDs = CONCAT_WS(',', @deletedIDs, OLD.id)

observe que OLD refere-se à linha excluída

depois de criar um gatilho em uma tabela, você pode usá-lo da seguinte maneira:
/* 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';

isso retornará IDs excluídos, cada um precedido por uma vírgula em uma string