XOR ограничение в Mysql - PullRequest
       12

XOR ограничение в Mysql

2 голосов
/ 28 сентября 2010

Я хочу реализовать своего рода ограничение xor для внешних ключей в mysql 5.1

Есть эта таблица, скажем, Entity, которая может ссылаться на два различных типа наборов значений, представленных в таблицахValsA и ValsB.Теперь я хотел бы реализовать ограничение, которое гарантирует, что точно один из этих двух сопоставлен, а другой нет.

В Oracle вы можете использовать что-то вроде

CHECK (NVL2(FK_A,1,0)+NVL2(FK_B,1,0)=1));

но, насколько я понимаю, MySQL на самом деле не поддерживает ограничения CHECK (пока).

Есть идеи?

1 Ответ

2 голосов
/ 28 сентября 2010

Правильно.MySQL не поддерживает проверки ограничений.Предложение CHECK анализируется, но игнорируется всеми механизмами хранения.

Необходимо выполнить условие XOR на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...