邏輯刪除與唯一索引衝突的問題

邏輯刪除字段原設計是 0表示未刪除 1表示已刪除

下面舉例說明存在的問題和解決方案

一個班的學生學號必須保持唯一,因此建立了唯一索引。

如果刪除了李明的信息之後,再錄入李明的數據庫無法插入成功。
爲了支持邏輯刪除,將學號字段 和 邏輯刪除字段 建立聯合索引

但是如果是第二次再次刪除李明,因爲有唯一索引這條數據是無法更新的
解決方案一:0表示未刪除 非0表示已刪除 刪除時將邏輯刪除字段修改爲這條記錄的主鍵值
解決方案二:邏輯刪除字段使用時間類型,空表示未刪除 非空表示已刪除,刪除時修改爲當前時間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章