У меня интересная ситуация: у меня есть внешний ключ от a.name (дочерняя таблица) до b.name (родительская таблица). b.name не имеет уникальных ограничений, поэтому может содержать повторяющиеся значения.
Если я добавлю имя 'bob' в b.name дважды , а затем добавлю его в a.name, я больше не смогу удалить или обновить либо экземпляр 'bob 'в таблице б. В обоих случаях он жалуется, что при удалении / обновлении строки в таблице b FKey, связывающий a.name с b.name, завершится неудачей.
Теперь это имеет некоторый смысл, но я хочу, чтобы FKey мог потерпеть неудачу только в том случае, если в таблице b есть no другой экземпляр 'bob'. Поэтому, если у меня есть несколько экземпляров 'bob' в b.name, я могу изменить / удалить любой, кроме последнего.
[Обратите внимание, что выполнение очевидного и добавление уникального ограничения для b.name не будет работать, потому что это приведет к «неопределенному поведению» в приложении, которое я не писал]
Есть идеи?