Как использовать триггер, чтобы предотвратить удаление таблицы и обновления? - PullRequest
0 голосов
/ 08 января 2019

Я хотел бы реализовать мягкое удаление в MySQL, используя триггер и обновляя вместо удаления. Затем я узнал, что у mysql нет триггеров.

Итак, я хотел бы использовать Before-Trigger, но я не смог найти способ отменить удаление, не выдав ошибку.

Я ищу что-то вроде этого:

use testdb;
DELIMITER $$
CREATE TRIGGER `table1_before_delete` BEFORE DELETE ON `table1`
FOR EACH ROW
BEGIN
    call abort_delete_and_dont_raise_error();
    UPDATE table1 SET deleted_at=NOW() where id=old.id;
END$$   
DELIMITER ; 

Я не мог найти ничего подобного.

1 Ответ

0 голосов
/ 08 января 2019

Вы не можете прервать удаление в Mysql, не выдав ошибку. Вы не должны использовать триггер перед удалением, чтобы реализовать механизм мягкого удаления. Это неправильный путь. Вы должны внедрить механизм мягкого удаления в ваше приложение.

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