Я думаю, что добавить столбец img_order
- это самый простой способ, и нетрудно перенумеровать поля. Например, если вы добавляете изображение в img_order
положение 15, просто вставьте его с этим значением, а затем выполните следующий запрос:
update image_info set img_order = img_order + 1 where img_order >= 15;
Если вы удаляете существующее изображение, вам придется уменьшить значения img_order
для всех изображений после этого:
update image_info set img_order = img_order - 1 where img_order >= 15;
И если вы перемещаете изображение из одной позиции в другую, вам придется увеличить img_order
для всех изображений между исходной и новой позицией:
update image_info set img_order = img_order + 1 where
img_order between (least($old_img_order, $new_img_order),
greatest($old_img_order, $new_img_order));