Вопрос о unique key index(+)

Sherman

Mephi
Вопрос о unique key index(+)

Возник вопрос, можно ли средствами mysql 4.0.x решить устранение коллизиц следующего вида:


есть таблица
table(id1, id2, ..)

нужно сделать так, чтобы не повторялась комбинация id1 и id2 в любом порядке, т.е.

98 102
102 98
98 98
102 102

из них должна присутсвовать только 98 102 или 102 98.

я создал уникальный ключ на полях id1, id2. записи типа:

98 102
98 102

не дублируются, но дублируется запись вида:

98 102
102 98

Для моей таблицы это равнозначные записи. Можно ли решить этой вопрос средствами СУБД?
 

Demiurg

Guest
обьясни подробнее задачу, может стоит получше спроектировать базу ?
 

Sherman

Mephi
Есть древовдиная структура(каталог), алгоритм nested sets. Начальство требует срочно сделать, чтобы можно было связывать некоторые элементы каталога между собой(как категории, так и элементы). Т.к. времени нет на то, чтобы переделать полностью структуру каталога и сделать ее с отношениями многие-ко-многим, было решено создать еще две таблицы для связи категорий и для связи элементов.

Связи идут по идентификаторам категорий и элементов соответственно.

Обе таблицы почти одинаковые, 2 идентификатора и несколько флагов. Задача контроллировать дублирование связей.
 

Demiurg

Guest
В качестве идеи: записывать всегда так, что бы id1<id2. Хорошо бы это все на уровне субд сделать, то есть тригер. Но вос с mysql не получится.
 
Сверху