簡體   English   中英

將記錄標記為刪除而不是從mysql表中刪除記錄

[英]flag record as delete instead of deleting the record from mysql table

我想知道如何繼續將記錄標記為已刪除而不是從數據庫中物理刪除記錄。 我之前從未遇到過這樣的事情。 我可以遵循任何教程嗎?

最簡單的方法是向表中添加一個新的BOOL列,如enabled默認值1

然后,當您要“刪除”該行時, UPDATE table_name SET enabled = 0

並過濾掉查詢中的“已刪除”行,例如:

SELECT * FROM table_name WHERE ... AND enabled = 1

在表中使用額外的布爾字段來表示條目是否有效。

TableName(<Your Fields>,Valid)

有效值= 1,然后它存在。

有效值= 0,然后刪除。

MySQL中沒有任何內在功能可以將記錄標記為已刪除 - 但您可以添加自己的列來描述狀態 - 您只需要記住將其從查詢中排除。 當您嘗試插入與您的已刪除記錄匹配的唯一/主鍵的行時,會出現此復雜情況; 你需要添加一個觸發器來修改狀態。 真的更簡單的選擇就是首先刪除數據(你沒有說明你想要通過不刪除行來實現的目標)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM