關於邏輯刪除的思考

2021-10-05 19:56:12 字數 653 閱讀 4968

顧名思義就是非物理的刪除,資料實質上仍存在但是不再被展示。

通常新增乙個is_deleted的標誌位,true就隱藏,false就正常顯示。

雖然is_deleted=true後不再顯示,但是某些unique欄位可能因此被限制。例如:

1 . 現在存在乙個使用者表, 其中email,phone,username都是unique的,但是因為is_deleted值為true之後代表這個使用者被登出了。但是現在你無法使用相同的email或phone或username再次進行註冊,這是不合理的。

欄位is_unique

is_primary_key

idtrue

true

email

true

false

username

true

false

phone

true

false

is_deleted

false

false

解決方案:

is_deleted 改為 delete_token, 當資料被邏輯刪除時置乙個隨機串,和id, delete_token繫結聯合唯一。

is_deleted=true之後,將這個資料遷移到專門存放陳舊資訊的資料庫中,如果有後續有相同資料依舊會碰撞。

關於mybatis plus邏輯刪除無效的問題

新增如下註解value代表預設值delval代表刪除時的值 是否刪除 tablelogic value 0 delval 1 tablefield value del flag private boolean delflag 下圖是配置全部 如您知道上一步配置該新增到 那就請忽略下面的 配置 myb...

mysql如何邏輯刪除 mysql邏輯刪除如何恢復

在專案中,一般會遇到這種情況 邏輯刪除以及多關聯不刪除 邏輯刪除 軟刪除 邏輯刪除就是對要被刪除的資料打上乙個刪除標記,通常使用乙個is deleted欄位標示行記錄是不是被刪除 或者使用乙個status欄位代表所謂的 刪除 狀態 在邏輯上是資料是被刪除的,但資料本身是依然存在的。在前端頁面中刪除了...

Mybatis Plus的刪除和邏輯刪除

注 此處的 是在mybatisplus的分頁查詢上進行新增修改的 什麼是物理刪除?簡單來說,物理刪除就是我們日常中使用的delete語句,就是真真正正的從資料庫中刪除掉某條資料。簡單使用 物理刪除 test public void delete 什麼是邏輯刪除?簡單來說,邏輯刪除就是給表中新增乙個字...