Mysql
 sql >> Base de données >  >> RDS >> Mysql

METTRE À JOUR/SUPPRIMER dans mysql et obtenir la liste des identifiants de ligne concernés ?

Vous pouvez créer un Trigger

le code suivant crée un déclencheur sur une table nommée mytable qui a un champ id

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

notez que OLD fait référence à la ligne supprimée

une fois que vous avez créé un déclencheur sur une table, vous pouvez l'utiliser comme suit :

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

cela renverra les ID supprimés chacun précédé d'une virgule dans une chaîne