【发布时间】:2014-11-10 22:50:34
【问题描述】:
这似乎是一个理想的功能,但我似乎无法弄清楚当外键是主键(复合键)的一部分时我会怎么做。
该表是一个简单的联结表,用于引用用户有权访问的 User.id 和 Access.id 引用函数的多对多关系:
Column | References
user user.id
access access.id
因此,每个用户和每个访问级别都可以有许多条目。为了简化“超级用户”的操作,我想为access 设置一个NULL 值,这意味着他们可以访问每个页面(这是我想出如何输入不引用行的值的唯一方法在access 表中)。问题是 MySQL 不允许将 NULL 值作为主键的一部分。
是否有解决NULL 主键问题的方法,或者是否有另一种方法可以引用外键中的每一行(或无行)?我能想到的唯一其他方法是禁用外键或必须为表中的每个 access.id 添加一行。其中任何一种都是不可取的。
【问题讨论】:
标签: mysql foreign-key-relationship composite-key junction-table