目前後台有一個刪除使用者的功能,但是由於功能模組很多,需要清理使用者在多張表下的記錄。
//清除該使用者的所有發布的文章以及文章關聯的標籤 //清除該使用者的所有關注的標籤 //清除該使用者的所有問題 //清除該使用者的所有回答 //清除該使用者的所有積分 //清除該使用者的所有評論 //清除該使用者的所有收藏 //清除該使用者的所有問題關注 //清除該使用者的所有私信 //清除該使用者的所有訊息通知 //清除該使用者的所有草稿 //清除贈送給使用者的所有邀請碼 //清除該使用者所有的邀請回答 //清除該使用者的好友關係 //清空使用者統計表 //清除使用者的報名記錄 ....
大家一般如何處理,是確實清除這些相關資訊麼。還是對刪除的使用者資訊進行保留,只是用標識不做查詢??
回複內容:
目前後台有一個刪除使用者的功能,但是由於功能模組很多,需要清理使用者在多張表下的記錄。
//清除該使用者的所有發布的文章以及文章關聯的標籤 //清除該使用者的所有關注的標籤 //清除該使用者的所有問題 //清除該使用者的所有回答 //清除該使用者的所有積分 //清除該使用者的所有評論 //清除該使用者的所有收藏 //清除該使用者的所有問題關注 //清除該使用者的所有私信 //清除該使用者的所有訊息通知 //清除該使用者的所有草稿 //清除贈送給使用者的所有邀請碼 //清除該使用者所有的邀請回答 //清除該使用者的好友關係 //清空使用者統計表 //清除使用者的報名記錄 ....
大家一般如何處理,是確實清除這些相關資訊麼。還是對刪除的使用者資訊進行保留,只是用標識不做查詢??
首先,如上面各位所說,盡量不要刪除重要資料。
其次,如果你確實需要實現主表刪除,從表自動刪除的功能。只需要在資料庫裡添加外鍵,並設定為ON DELETE CASCADE。
這種外鍵在刪除主表資料時,會自動刪除從表中執行被刪除資料的記錄。只要外鍵設計的好。主表刪除一條資料,一堆從表跟著刪得屍橫片野……
最好是在表中新增一個欄位,標識出該條記錄是否刪除。
設定一個識別欄位,將使用者標識為已經刪除,之後尋找的時候,所有與使用者相關的個人資料就無法在尋找到也就不用做過多的操作。至於統計之類的則可以多加一個對於使用者是否可用的判斷即可。
我覺得也是,資料一定不要刪,保不齊你那天又想要了。沒了可咋整。。
一個事物保准給她刪的乾乾靜靜
放在一個資料庫事務中,一起刪除
參考laravel的soft delete 增加一個欄位delete_at 預設為null 刪除的時候更新為目前時間
你敢刪資料?!我警示了!