Unique swap

  • Автор темы Автор темы Solid
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Solid

Drosera anglica
Unique swap

Сложилась ситуация, когда не знаю как решить поставленную задачу, единственное решение это использование каких-то больших значений integer, но дабы не вносить путаницы, расскажу всё по порядку...
И так, есть таблица, состоящая из следующих полей:
Код:
category_id
category_pid
... (другие поля)
category_order
все приведённые поля имеют тип unsigned integer.
Так же поля category_pid и category_order связанны в уникальный индекс, т.е. дублирование pid + order невозможно.
Требуется поменять местами order двух id. Единственное решение это делать транзакцию + использовать временное "большое" число.
SET order = 4294967295 WHERE id = 2
SET order = 2 WHERE id = 5
SET order = 5 WHERE id = 2
Где order в id = 2 изначально был 2.
Прошу комментариев по поводу более гладкого решение сей проблемы.
 
Скажите, а зачем category_order (я так понимаю, это порядок сортировки) обязан быть уникальным?
 
alexcrown
Проще управлять.

-~{}~ 04.03.07 13:53:

Причём, вы наверное не до конца поняли... уникальная только связка пары integer'ов (pid и order).
 
.

-~{}~ 04.03.07 15:25:

а зачем связка пары integer'ов (pid и order) должна быть уникальной?
 
Фанат
Правильнее и удобнее управлять когда order идёт 1,2,3... нежели 1,45,324, правда?
 
Фанат
Тогда прошу свой вариант сортировки категорий.
 
какая связь между удобством управления и порядком цыферок.
и какое отношение к порядку цыферок имеет уникальность

-~{}~ 04.03.07 15:30:

просить будешь на паперти
 
Фанат
Дело в том, что циферки order могут меняться. Более лучшего варианта, чем тот, что я уже представил здесь - не знаю. Единственная проблема это swap, всё, но она решаема через temporary значение.
 
тебе три раза задали вопрос, почему ордер должен быть уникальным.
ни разу ответ на него ты так и не осилил
 
Фанат
осилил, причём в 3-х разных вариациях.

-~{}~ 04.03.07 15:38:

короче, как я понял, никто просто не знает ответа.. вот и всё.
 
о, да
"удобнее управлять" и феерическое "цифры могут меняться".

в общем, как всегда.
ответ есть, но исключительно в твоем собственном тормозном понимании.
причем даже объяснять тебе бессмысленность твоих ответов - дохлый номер.
так что лучше прикрыть лавочку.
научишься когда-нибудь выражать мысли логически - приходи.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху