У меня есть таблица:
- Таблица ASK с
idask
- Таблица предпочтений с
idpref
, fk_idask
, fk_idstructure
- таблица СТРУКТУРА с
idstructure
Со всеми ограничениями между id
и fk_id
и уникальным индексом в таблице ПРЕДПОЧТЕНИЯ (fk_idask
, fk_idstructure
).
Проблема в том, что у меня есть две строки в настройках.
`IDPREF` `FK_IDASK` `FK_IDSTRUCTURE`
1 1 1
2 1 2
Если я хочу инвертировать (переключить?) Две структуры между предпочтениями
`IDPREF` `FK_IDASK` `FK_IDSTRUCTURE`
1 1 **2**
2 1 **1**
Уникальный индекс между FK_IDASK
и FK_IDSTRUCTURE
разбивается, поскольку при первом обновлении в результате появляются два предпочтения для одного и того же запроса с одинаковой структурой.
Для предотвращения этого я делаю функцию deleteAndResave, и это решает проблему на данный момент.
Но теперь появляется таблица ASSIGNATION с idassignation
и fk_idpref
.
Теперь, если я удалю Предпочтение, связанное с НАЗНАЧЕНИЕМ, разрыв ограничения.
Я уже нахожу обходной путь, но безобразно. Есть какое-то вменяемое решение этой проблемы?
Спасибо за ответ!
пс. Извините за мой плохой английский: (* 1044 *