实现软删除

Ruy*_*Dan 6 mysql php

有人可以向我展示或描述如何实现软删除吗?

我有包含以下字段的凭证表:id, username, password, serial

我想根据客户的请求显示给定的行数,一旦显示,它们应该被删除,以便不再显示。(它们已经无效了。)

我认为软删除将确保不会显示两次凭证。如果您对我将如何做有任何其他想法,我将不胜感激。

Tar*_*ryn 11

我一直通过在我的表中包含两列附加列来实现软删除,一列用于状态,另一列用于删除日期。

我的表结构类似于以下内容:

create table myTable
(
  id int,
  name varchar(50),
  IsDeleted bit,
  DeletedDate datetime
);
Run Code Online (Sandbox Code Playgroud)

IsDeleted列的默认值为 ,no并且在DeletedDate该行实际标记为已删除之前不会填充。如果我想知道某行何时被软删除,我会包含一个日期列。

然后,当您查询数据时,您将在WHERE子句中包含此列:

select id, name
from myTable
where IsDeleted = 0
Run Code Online (Sandbox Code Playgroud)

注意:您需要在IsDeleted列上包含一个索引。


归档时间:

查看次数:

11635 次

最近记录:

12 年,6 月 前