Я хочу осуществить своего рода исключающего ограничения на внешние ключи в MySQL 5.1XOR Constraint в Mysql
Существует эта таблица, скажем, лицо, которое может относиться к двум различным видам valuesets, представленных таблицах Valsa и ValsB. Теперь я хотел бы реализовать ограничение, которое гарантирует, что только один из этих двух отображается, а другой - нет.
В Oracle вы можете использовать что-то вроде
CHECK (NVL2(FK_A,1,0)+NVL2(FK_B,1,0)=1));
, но, насколько я понимаю, MySQL не поддерживает действительно проверочных ограничений (пока).
Любые идеи?
Я не понимаю, почему вы не реализуете его с большей ясностью: 'CHECK ((FK_A IS NULL и FK_B НЕ ЯВЛЯЕТСЯ) ИЛИ (FK_A НЕ ЯВЛЯЕТСЯ NULL И FK_B NULL)); –
да, вы правы. ваше заявление более читаемо. но все равно не поможет. но тем не менее я буду использовать ваше предложение в нашем приложении oracle. ty –