Узнайте, какие таблицы были затронуты триггерами

StackOverflow https://stackoverflow.com/questions/1421404

  •  07-07-2019
  •  | 
  •  

Вопрос

В MySQL (в частности, в InnoDB) есть какой-нибудь способ узнать, на какие таблицы повлияли (обновлены / удалены строки) CASCADE UPDATES / DELETES или обычные триггеры?

Это было полезно?

Решение

Показать каскады и ограничения:

mysql> SHOW CREATE TABLE tablename;

Показать триггеры:

mysql> USE dbname;
mysql> show triggers;

Другие советы

Насколько я знаю, для этого нет встроенного решения. Если вы хотите узнать, какие триггеры сработали, вам придется вызывать свои собственные функции регистрации из самих триггеров. Что касается каскадного UPDATE / DELETE, то они не запускают триггеры, за исключением того, что копаются в binlog. Я не понимаю, как узнать, какие строки были UPDATEd или DELETEd.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top