我正在使用Spring Boot + mySql在web項目上工作在真正的mysql系統中處理DELETE的最佳方法
我在考慮如何從數據庫中刪除數據。
我知道DELETE * FROM表聲明,但我有疑問,
- 有沒有辦法使用DELETE來保持歷史或操作日誌?
- 如果我使用DELETE刪除數據,然後添加一個新數據,新數據將插入到被刪除的位置,所以這個id是錯誤地排序的嗎?
我的朋友建議我爲每個表添加一個BOOL列,這是刪除標誌,爲了控制刪除過程,這是一個不錯的方法嗎?
對不起,我是服務器開發的新手,所以我想確保每一步都是健壯的。先謝謝你。
回答:1)不,不會自動和2)不會重新使用mysql自動增量鍵。 3)它的一種方式,但你的桌子會變得越來越大 – RiggsFolly
關於1.不是默認情況下,你可以創建一個DELETE [觸發器](https://dev.mysql.com/doc/refman/5.5/en/創建-trigger.html)。通過標記記錄來使用「軟刪除」是一種常用技術。 – PeterMmm