Удалить триггер MySQL? - PullRequest
       7

Удалить триггер MySQL?

0 голосов
/ 02 апреля 2019

Я использую триггер DELETE AFTER в MySQL, когда пользователь удаляет статью.

Этот триггер копирует удаленную строку в другую таблицу клонов.

Но у меня есть проблема, как установить идентификатор пользователя, который удалил эту статью, когда я копирую строку после удаления?

Я знаю идентификатор пользователя только на стороне сервера и только когда происходит действие.

Я предполагаю, что должен создать процедуру, в которой передают удаленную статью и идентификатор пользователя, как вы думаете?

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Более распространенный способ сделать это - не копировать в другую таблицу, а иметь в таблице что-то вроде столбца отметки времени deleted_atdeleted_by для хранения идентификатора пользователя) и добавить WHERE deleted_at IS NULL на ваши вопросы.

Это часто называют «мягким удалением», и им намного легче управлять, чем копией таблицы.

0 голосов
/ 02 апреля 2019

Я бы предложил использовать php / js или любой другой язык, который вы используете для применения этой бизнес-логики.Но если вы хотите сохранить это в MySQL, вы можете добавить столбец «Удаленные_от» в таблицу и таблицу клонов и установить этот столбец перед удалением строки.

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