Это не столько ответ на вопрос, сколько оправдание такого рода функциональности - следовательно, отрицание тех, кто сказал бы: «Вы должны сделать что-то другое» или «почему вы хотите».
У меня есть база данных, в которой я стараюсь соблюдать строгие правила - я нигде не хочу сирот. Проверка ссылочной целостности помогает мне в этом на уровне таблицы, но я должен хранить некоторые данные в виде файлов в файловой системе (это результат прямого приказа моего начальника не хранить двоичные данные в самой базе данных).
Очевидным решением здесь является наличие триггера, который запускает удаление записи, который затем автоматически удаляет связанный внешний файл.
Теперь я понимаю, что UDF могут предоставить решение, но это похоже на большую работу C / C ++ по простому удалению файла. Конечно, сами разрешения базы данных обеспечат как минимум некоторую защиту от потенциальных злоумышленников.
Теперь я понимаю, что мог бы написать сценарий оболочки или что-то подобное, что могло бы удалить запись таблицы, а затем пойти и удалить связанный файл, но, опять же, это вне домена базы данных сама, Как однажды сказал мне старый инструктор, «правила бизнеса должны быть отражены в правилах базы данных». Как ясно видно, я не могу применить это на MySQL.