資料的軟刪除
後端工程師的基礎
不外乎資料的CRUD
但是在實際操作上
真正會delete的情況並不多
除了log以外
畢竟資料刪除後
要再找回來就麻煩了
如果要對資料做刪除
通常會使用一個欄位來註明
例如 is_delete
如果本來的table沒有這種欄位
又想要做刪除的時候該怎麼辦呢
其實還有一種軟刪除
就是把表的foreign key設為負數
來張圖比較明顯
這樣一來
Frank身上就只會剩下一張訂單了
後續要追蹤時
也可以查詢的到
除了資料的軟刪除
table或是store procedure也可以
說穿了不值錢
就是把table或是SP改名
加個前墜 deleted_之類的
讓程式讀取不到
但又保持在隨時可以roll back的狀態
等到確定沒問題後
再進行drop
這些應該是除了Where 1 = 1之外
最實用的sql黑魔法了
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!