Создать столбец в таблице, который представляет порядок сортировки.Поместите индекс в этот столбец, чтобы механизм MySQL мог быстро получать данные на основе этого столбца.Когда вы меняете порядок, обновите значения в этом поле для всех записей, чтобы сохранить его согласованность.
Например, когда вы вставляете новую запись в середине:
UPDATE table SET sort_order = sort_order + 1 WHERE sort_order >= 5;
INSERT INTO table (sort_order, column1, column2) VALUES (5, 'value1', 'value2');
Что-то ещесложный, как перемещение № 3 до № 6 и скольжение всех остальных вверх:
UPDATE table
SET sort_order = Case sort_order When 3 Then 6 Else sort_order - 1 End
WHERE sort_order BETWEEN 3 AND 6;