私はテーブルを持っています:
CREATE TABLE photo (
photo_id BIGINT NOT NULL AUTO_INCREMENT,
property_id BIGINT NOT NULL,
filename VARCHAR (50) NOT NULL;
...
PRIMARY KEY (photo_id),
CONSTRAINT photo_fk_property FOREIGN KEY (property_id)
REFERENCES property (property_id)
ON DELETE CASCADE
);
このテーブルの行を削除すると、その行が参照しているファイルも削除する必要があります。このテーブルからレコードが削除されるシナリオは2つあります。
- ユーザーが特定の写真を1枚削除します。
- ユーザーが1つの特定のプロパティオブジェクトを削除すると(「不動産プロパティ」のように)、そのプロパティを参照しているすべての写真がによって自動的に削除されます
ON DELETE CASCADE
。
プロパティを削除する前にデータベース内の参照されているすべての写真を選択し、それらをファイルとともに1つずつ削除できることはわかっていますが、別の解決策を探しています。photo
テーブル内のレコードが削除された瞬間をキャッチし、CASCADE
句を辞任することなく、おそらく何らかのトリガーでファイルを自動的に削除することは可能ですか?