Как лучше обновить порядок строк при сортировке в mysql?
Есть таблица
id---name---order
где в order записывается порядковый номер элемента
на клиенте можно сортировать элементы и нажимать сохранить
На бэкенд отправляется key => value, где key это id, а value это новый порядковый номер
Так вот как мне лучше обновить элементы с новыми порядковыми номерами, если представить что в один момент могут это делать несколько пользователей. Что бы все не запуталось.
Думал сделать update на каждую строку и обернуть все это в транзакцию, но не уверен что этого достаточно
Что если сделать insert on duplicate key update - и сделать все одним запросом?
Так вот как мне лучше обновить элементы с новыми порядковыми номерами, если представить что в один момент могут это делать несколько пользователей. Что бы все не запуталось.
что конкретно может запутаться? В вашем случае если все могут менять, то будет работать принцип "кто последний тот и папа", не зависимо от транзакций и прочей чехарды.
KuzmenkoArtem, Все запросы будут выполняться последовательно, согласно очереди, но как это повлияет на конечный результат? Все равно Вася нажавший последним "поменять" задаст итоговое изменение, произойдет ли это сразу после транзакции Феди или еще через час - никакой разницы, в чем собственно вопрос?