1
SQLコマンドを使用してファイルを削除する方法はありますか?
ファイルシステムにイメージファイルがあり、DBにリンクされています。例:MySQLの手順を使用してファイルを削除
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;
カテゴリ\製品が削除されると、削除されたカテゴリ\製品に属する画像のリンクが削除されます。 ( 'ON DELETE CASCADE'のため)
しかし、ファイル自体も削除する必要があります。何かのように:
CREATE TRIGGER del BEFORE DELETE ON images FOR EACH ROW CALL delete_file(OLD.img_link);
もちろん、削除する必要があるすべてのファイルのテーブルを作成することができます。私はリアルタイムでそれを行う方法があるかどうか尋ねます。
ありがとう