在postgres中,我们定义了一个约束条件,它基本上允许我们将具有某个值的表中的条目数限制为1。我们创建了这个约束:使用MYSQL条件的唯一约束
在list_group(visitor_uid)上创建唯一索引列表$ default $ uk其中list_type ='default';
这意味着唯一约束只适用于list_type ='default',以便表中每个访问者只能有一个'默认'列表。
它看起来像MySql不支持额外的唯一约束。是否有另一种方法可以在MySQL的数据库模式中支持这一点?
是的 - 不完全。你有什么问题是,每个list_group必须为每个访问者提供一个唯一的list_type。我们不希望这样。我们试图完成的是只允许每个访问者拥有一个list_type ='default'的列表组。对于其他list_types,如果有重复,则无关紧要。 – harmanjd 2009-06-12 15:59:20
ho,对。然后我不知道在MySQL中这样做的方法,因为存储引擎不支持CHECK常量:http://forums.mysql.com/read.php?136,152474,240479#msg-240479。但是,就像codymanix说的那样,如果在数据库中强制执行这个规则,我宁愿修改数据结构。 – 2009-06-12 16:46:15