Поддерживать порядок записей после мягкого удаления

Я построил систему мягкого удаления для таблицы, которая содержит следующие столбцы:

 - 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);

Сам код работает нормально, но когда я отображаю эти данные во внешнем интерфейсе, это изменяет порядок записей, потому что они упорядочены по идентификатору. Единственный способ обойти это — создать дополнительный столбец с некоторой переменной «Порядок», которую запрос должен будет отсортировать перед извлечением.

Есть ли более простой способ справиться с проблемой и оставить порядок записей без изменений?

0

Решение

Вместо добавления новой записи вы можете просто сохранить последнее значение в другом столбце. Это не будет создавать избыточные записи, также порядок будет таким же.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]