Каждый оператор SQL, который возвращает видимый набор результатов, должен включать предложение ORDER BY, чтобы результаты были согласованы. Стандарт не гарантирует, что порядок строк в определенной таблице будет оставаться постоянным или последовательным, даже если в таблицу не будут внесены явные изменения.
Что вы используете для своего предложения ORDER BY, зависит от варианта использования. Значение даты - это обычный выбор для комментариев или заказа блога. Однако, если вы хотите, чтобы пользователь мог настроить заказ, который показывает набор результатов, тогда вы должны предоставить столбец, который представляет позицию строки, и отрегулировать значение этого столбца, когда пользователь вносит изменения в которые они видят.
Например, если вы решите, что столбец будет содержать порядковый номер, начиная с 1 для первой строки, 2 для второго и т. Д., Тогда вам будет удобно удалять строки, когда их нужно удалить, не имея делать обновления. Однако, если вы вставляете строку, вам нужно указать строку, в которую вы вставляете порядковый номер, соответствующий его позиции, и обновить все строки ниже этого с их новой позицией. То же самое происходит, если вы перемещаете строку из другого места в новое место; строки между новым и старым местоположениями необходимо обновить новыми индексами позиции.
Они сортируют результирующие наборы из SQL-запросов ('order by'). –
Вы используете столбец веса, придайте каждому элементу вес при сохранении новой строки и заказе своих запросов по весу. Когда строка удаляется, она создает пробел, но это не влияет на сортировку. При перемещении строки до определенного веса добавьте +1 ко всем с равными или большими весами. – Johan