MySql, как я могу записать каскадные удаления на самореферентную таблицу parent-child, используя триггеры? - PullRequest
1 голос
/ 24 марта 2019

У меня есть таблица родительских и дочерних ссылок , tbl_projects

tbl_projects

id project_name parent_id

Если записьявляется родителем, его parent_id является NULL.Если это дочерний элемент, его parent_id является родительским id.

Я хочу записать cascade deletes в мою таблицу журналов, tbl_log.

У меня есть настройки триггеров для вставкивставлять в tbl_log когда что-то удаляется из tbl_project

TRIGGER `tbl_project_before_delete` BEFORE DELETE ON `tbl_project` FOR EACH ROW BEGIN

    INSERT INTO tbl_log (user_id, initiator, event) 
    VALUES (
        OLD.user_id, 
        OLD.initiator, 
        'record deleted by user on date etc.'
    );
END

Мой код прямого просмотра выше работает просто отлично, HOWEVER , он не записывает каскадные удаления , то есть, если я удаляю родителя, удаляемые потомки не записываются на tbl_log.Я хочу записать это на tbl_log.Есть ли встроенный способ сделать это?Как мне подойти к этому?

...