Я думаю, что следующий пример лучше всего объяснит ситуацию. Допустим, у нас есть следующая структура таблицы:
-------------------------------------
Member1 int NOT NULL (FK)(PK)
Member2 int NOT NULL (FK)(PK)
-------------------------------------
Statust char(1) NOT NULL
Вот содержимое таблицы:
Member1 Member2 Status
----------------------------
100 105 A
Мой вопрос заключается в том, как мне реализовать уникальность, чтобы следующая инструкция INSERT FAILосновывалась на этой. строка уже есть в таблице.
INSERT status_table (Member1,Member2,Status) VALUES(105,100,'D');
По сути, я пытаюсь смоделировать отношения между двумя участниками. Поле Статус одинаково, независимо от того, есть ли у нас (100,105) или (105,100).
Я знаю, что могу использовать триггеры before_insert и before_update для проверки содержимого таблицы. Но мне было интересно, есть ли лучший способ сделать это... Должна ли моя модель базы данных отличаться...