我想在mysql 5.1中对外键实现一种xor约束
有这张表,比方说实体,它可以引用由表 ValsA 和 ValsB 表示的两种不同类型的值集。现在我想实现一个约束,以确保恰好映射了这两个中的一个,而另一个未映射。
在 Oracle 中你可以使用类似的东西
CHECK (NVL2(FK_A,1,0)+NVL2(FK_B,1,0)=1));
但据我所知,MySQL 并不真正支持 CHECK 约束(还)。
有什么想法吗?
最佳答案
正确。 MySQL 不支持检查约束。 CHECK 子句被解析但被所有存储引擎忽略。
您必须在客户端强制执行 XOR 条件。
关于sql - Mysql中的异或约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812468/