异或约束

时间:2013-04-02 09:14:55

标签: mysql

在准备关系模型的过程中,我陷入了类型约束{XOR}的转换。

这是一个例子:    我有一个相当于申请人(用户)信用的文件     它也由验证者(另一个用户)验证     但是有一个排除限制,申请人可能不是同一文件夹的验证者。

我怎样才能在我的桌子上翻译它?

Dossier_Equi (num_dosier, # applicant # validator ......)

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,请注意它不是类型约束(即两个分类器之间的约束),而是关联约束。然后,请注意 the xor constraint specifies that objects of a class may participate in, at most, one of the associations at a time

约束:

  

申请人不得是验证人。

SQL等价物是:

CHECK (validator IS NULL OR applicant<>validator) 

(作为表约束,因为它适用于不同的列)。

但是,MySQL不支持SQL检查约束。在另一个问题中,为此目的有a suggerence for using BEFORE INSERT/UPDATE triggers