Остановка удаления на MySQL через триггеры - PullRequest
3 голосов
/ 30 октября 2009

Я пытаюсь перехватить любые команды DELETE для определенной таблицы. MySQL поддерживает триггеры, но, похоже, пока не поддерживает способ сообщения об ошибке, как SQL Server и другие базы данных.

Могу ли я сделать это только с пустым определением триггера? Что-то вроде:

create trigger trListsDelete on lists
instead of delete
as
begin
  /* Do nothing */
end

В SQL Server я мог бы добавить оператор RAISEERROR('You cannot delete lists.'), чтобы заставить его завершиться ошибкой, и, таким образом, я знаю, что удаление не будет выполнено. Поскольку MySQL не поддерживает выдачу ошибок, как мне просто игнорировать команду Delete?

1 Ответ

3 голосов
/ 30 октября 2009

Техника заключается в том, что вы делаете что-то, что вызывает ошибку, например, обновляете несуществующий столбец.

Подробности здесь: Триггеры MySQL: как прервать INSERT, UPDATE или DELETE с помощью триггера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...