在准备关系模型期间,我陷入了类型约束 {XOR} 的转换。
这是一个例子: 我有一个与申请人(用户)同等信用的文件 并且它也由验证者(另一个用户)验证 但有一个排除限制,申请者不能是同一文件夹的验证者。
如何在我的 table 上翻译它?
Dossier_Equi (num_dosier, # applicant # validator ......)
最佳答案
首先,请注意,它不是类型约束(即两个分类器之间的约束),而是关联约束。然后,请注意 the xor constraint specifies that objects of a class may participate in, at most, one of the associations at a time .
约束:
The applicant must not be the validator.
等效的 SQL 是:
CHECK (validator IS NULL OR applicant<>validator)
(作为表约束,因为它适用于不同的列)。
但是,MySQL 不支持 SQL 检查约束。另一个问题中有a suggerence for using BEFORE INSERT/UPDATE
triggers为此目的。
关于mysql - 异或约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15760303/