sql >> Databáze >  >> RDS >> Mysql

UPDATE/DELETE v mysql a získat seznam dotčených ID řádků?

Můžete vytvořit spouštěč

následující kód vytvoří spouštěč v tabulce s názvem mytable který má pole id

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

všimněte si, že OLD odkazuje na odstraněný řádek

jakmile vytvoříte spouštěč na stole, můžete jej použít následovně:

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

tím se vrátí smazaná ID, před kterými je v řetězci čárka



  1. Při použití Dockeru se zobrazí chyba:SQLSTATE[HY000] [2002] Žádný takový soubor nebo adresář

  2. Dynamický SQL (EXECUTE) jako podmínka pro příkaz IF

  3. Proč Hibernate/JDBC/MySQL přeruší připojení po zhruba jednom dni?

  4. Použití příznaku trasování 3226 k potlačení protokolování zálohování protokolu