我有以下內容:如何刪除記錄如果我可以先刪除其他記錄?
一個文件可以包含另一個文件(一個視頻文件包含音頻和字幕),並且通常不會單獨保存內容文件,只會顯示爲主文件的一部分。然而在一些特殊情況下,我將一些內容文件分開保存。
另外我有商店,所以如果是主文件,並且如果我有一個輔助文件保存在主文件的一部分中,則一個文件在商店中。
所以我有這樣的兩個表:
- 文件(IDfile,...);
- FilesContainsFiles(IDContainerFile,IDContentFile);
- 百貨(IDStore,...)
- StoresHaveFiles(IDStore,IDFile)
如果我想刪除一個主文件,我想只能從特定sotre刪除,因此,如果該文件是在其他商店中,我不想刪除該文件。如果該文件不在另一個商店中,我想刪除該文件,因爲它無法在數據庫中獲得該信息。
此外,我想要刪除所有的內容文件,僅當內容文件沒有存儲在另一個存儲單獨的主文件之外。
爲了確保我無法刪除其他商店中的文件,我不會刪除StoresHasFiles上的關聯級聯,因此通過這種方式我得到了一個外國人關鍵錯誤。
所以我想按照這個步驟:
- 嘗試刪除主文件。如果我可以做到,請嘗試刪除內容文件。
我想我需要一個事務來做到這一點,但我不知道該怎麼做。
我不知道我是否可以聲明一個列表,其中包含我嘗試刪除的文件,如何迭代此列表以及如何嘗試刪除內容文件,以及如果某些內容文件無法刪除因爲存儲在其他地方,請嘗試刪除下一個內容文件。
也許有另外的選擇來解決這種情況?
謝謝。