сортировки в БД?
Есть строчка, и её могу перемещать в таблице куда угодно по порядку, что раздвинет список,
и нужно что бы было записан порядок этих строк.
Самый очевидный вариант:
После каждого перемещения переписывать OrderNum у всех строк.
Но есть ли метод лучше?
С этим должен был столкнуться ещё при сортировке ToDo карточек...😥
Насколько большой объём таблицы? Может лучше вьюху сделать, которая будет пересчитывать ordernum, чем апдейтами долбить базу?
Не понимаю что это значит. Кто и как пересчитывать, и основываясь на каких данных?
Вы не можете функцией над данными заменить пользовательский ввод
На основании работы аналитика и ux
А, я не понял, что пользователи меняют сам ordernum. Тогда да.
Не понял. Вот у меня есть uint поле, что дальше? Или какие поля и операции с ними должны быть?
Таблицы могут быть разного объёма. От до 10, до сотен. Точнее наборы данных, так как в таблице все строки проекта, но разделены по пользователям.
Вам надо понять, сколько таких элементов будет у пользователя и какие сценарии перемещений ожидаются. Можете для начала попробовать себе ответить, чем не подойдёт нумерация с шагом 100
Увеличенный шаг, это например 0, 100, 200, 300, и когда хотим поменять 300 перед 1, ставим его номером 1. Получаем 0, 1, 100, 200. И так можно 99 раз, а потом сдвигать следующие и тд. Это сложно только усложнившейся логикой🧐
Да. Но не апдейтить всё - правильное решение для классических СУБД. Но, еще раз, если у вас на юзера этих записей десятки, то можно не думать вообще
Этот вопрос не только для юзеров, а для очередей постановки задач нужен, очередей, приоритетов и тд. Где строк может быть Очень много, уже именно миллионы в конкретной очереди, где нужно что то двигать.
Не существует универсальных решений Нет смысла обсуждать что-то без уточнения вводных
Понял, постараюсь найти уже описанные методы. А по началу буду сортировать просто лишь бы работало.
Обсуждают сегодня