5 回答

TA貢獻1982條經驗 獲得超2個贊
boolean active一種方法是向您的客戶表添加一列
create table Customers (
firstname varchar(20),
secondname varchar(20),
active Boolean default true
);
然后當您選擇記錄時
select * from Customers where active = true;
然后,您可以將 active 設置為 false,而不是從客戶表中刪除條目

TA貢獻1860條經驗 獲得超9個贊
使用“軟刪除”。這意味著您實際上不會刪除任何內容,而是在每一行上都有一個標志,您可以切換以顯示客戶不活躍。然后,您可以擁有一個僅顯示與取消刪除無關的代碼可以使用的未刪除客戶的視圖。

TA貢獻1829條經驗 獲得超13個贊
一種方法是不實際刪除客戶并添加額外的狀態列。在業務層中,您將能夠顯示狀態為 != DELETED 的所有用戶。
OBS:如果您確實需要從數據庫中刪除它們,您可以創建一個 cron 來掃描所有狀態為已刪除的客戶,并在 x 天后刪除它們。

TA貢獻1856條經驗 獲得超17個贊
您應該進行數據庫備份。
備份是您的“第一道防線” - 防止意外刪除......以及防止任何其他可能發生的情況(例如硬盤崩潰?;蛄餍菈嫐?。)。
另一種方法是將[觸發器]分配給任何刪除(或者就此而言,也分配給“插入”和“更新”語句)。您可以阻止刪除(如果您愿意),并且您將獲得誰嘗試刪除的記錄。
最后,最好的方法可能是根本不刪除:只需創建一個新的“狀態”列。將初始值設置為“ACTIVE”,將“deleted”值設置為“DELETED”。
添加回答
舉報