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”。
添加回答
举报