Я пишу какое-то программное обеспечение, которое требует хранения элементов в базе данных, элементы должны иметь «приоритет», поэтому мы получаем
ID | Name | Priority
--------+--------------+----------
1 | Pear | 4
2 | Apple | 2
3 | Orange | 1
4 | Banana | 3
Итак, теперь приоритетным фруктом является апельсин, затем яблоко, затем банан, затем груша.
Теперь я хочу сделать грушу приоритетом номер один, поэтому груша, апельсин, яблоко, банан. Таблица будет выглядеть так:
ID | Name | Priority
--------+--------------+----------
1 | Pear | 1
2 | Apple | 3
3 | Orange | 2
4 | Banana | 4
Каков наилучший способ добиться этого с помощью PHP и Postgres. Учитывая, что в таблице не будет больше 12-13 элементов, я подумал о том, чтобы ВЫБРАТЬ всю таблицу и переписать приоритеты, прежде чем ОБНОВЛЯТЬ все обратно.
* Важно *
Приоритеты могут быть изменены в любом порядке, поэтому приоритет 7 может быть установлен на приоритет 3 (таким образом перемещая все ниже приоритета 3 на ступеньку ниже), и нам нужно закрыть пробел, который оставил элемент с приоритетом 7, который был перемещен в приоритет 3. в списке приоритетов.