вот записи, и мы хотим переместить id # 1 между # 3 и # 4
id title sort
1 a 1
2 b 2
3 c 3
4 d 4
5 e 5
6 f 6
метод первый:
получить номер сортировки # 3 и плюс 1 и обновите сортировку # 1 с этим, чтобы у нас было
id title sort
1 a 4
2 b 2
3 c 3
4 d 4
5 e 5
6 f 6
, а затем плюс сортировка с 1 по 4 и все записи после этого
, и у нас есть
id title sort
1 a 4
2 b 2
3 c 3
4 d 5
5 e 6
6 f 7
и после сортировки
id title sort
2 b 2
3 c 3
1 a 4
4 d 5
6 e 6
6 f 7
он работает нормально, но представьте, что у нас есть 2000000 записей, и все записи должны быть обновлены ...
метод второй
получить сумму вида # 3 и # 4 и разделить на 2 => (3 + 4) /2=3.5 и просто поместить его для сортировки # 1
id title sort
2 b 2
3 c 3
1 a 3.5
4 d 4
5 e 5
6 f 6
это тоже работает нормально, но представьте, что тысячи таких операций создают большие числа с плавающей запятой, например 3.99999999999, и через некоторое время это ужасно
есть ли какой-нибудь трюк или метод mysql / mariadb для этого?