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

AGGIORNA/CANCELLA in mysql e ottieni l'elenco degli ID di riga interessati?

Puoi creare un Trigger

il codice seguente crea un trigger su una tabella denominata mytable che ha un campo id

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

nota che OLD si riferisce alla riga eliminata

una volta creato un trigger su un tavolo puoi usarlo come segue:

/* 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';

questo restituirà ID eliminati, ciascuno preceduto da una virgola in una stringa