Есть ли способ удалить файл командой SQL?
У меня есть файлы изображений в файловой системе, и ссылки на них в БД. Например:
CREATE TABLE products (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name TINYTEXT NOT NULL,
category INT UNSIGNED NOT NULL,
FOREIGN KEY (category) REFERENCES categories(id) ON DELETE CASCADE,
............
) ENGINE=InnoDB;
CREATE TABLE images (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
img_link TINYTEXT, /*path and name of JPG/PNG file*/
product INT UNSIGNED NOT NULL,
FOREIGN KEY (product) REFERENCES products(id) ON DELETE CASCADE,
............
) ENGINE=InnoDB;
Когда категория \ продукт удалена, удаляются ссылки на изображения, принадлежащие удаленной категории \ продукту. (потому что «НА УДАЛЕННОМ КАСКАДЕ»)
Но мне тоже нужно удалить файлы. Что-то вроде:
CREATE TRIGGER del BEFORE DELETE ON images FOR EACH ROW CALL delete_file(OLD.img_link);
Конечно, возможно создание таблицы всех файлов, которые должны быть удалены. Я спрашиваю, есть ли способ сделать это в режиме реального времени.
Спасибо