软删除后维护记录的顺序

时间:2014-10-28 09:45:01

标签: php mysql soft-delete

我为表格构建了一个软删除系统,其中包含以下列:

 - ID (Auto increments from 1) 
 - Category 
 - Title 
 - Is_Deleted 
 - Timestamp (Created)

样本数据(3行):

1   Department  Dd1x1  0  2014-10-24 18:41:54   
2   Logistics   L2x14  0  2014-10-24 16:55:27
3   Transit     T4y3   0  2014-10-24 17:09:27

软更改也设置为在更新记录时有效(业务需求)。因此,如果我更新类别"部门"到"部门数据",我这样做:

UPDATE categories_latest SET Is_Deleted = 1 WHERE ID = 1;
INSERT INTO categories_latest(Category, Title, Is_Deleted) VALUES('Department Data', 'Dd1x1', 0);

代码本身工作正常,但是当我在前端显示这些数据时,会改变记录的顺序,因为按ID排序。只有这样我才能想到解决这个问题,就是要有一个额外的列,其中包含" Order"某种变量,查询在检索之前必须对其进行排序。

是否有更简单的方法来处理问题,并允许记录的顺序保持不变?

1 个答案:

答案 0 :(得分:0)

您可以将最后一个值保存到其他列,而不是添加新记录。它不会创建冗余记录,订单也会相同。