これは望ましい機能のように思えますが、外部キーが主キー (複合キー) の一部である場合にどうすればよいかわかりません。
このテーブルは、多対多のリレーションシップ参照User.id
およびAccess.id
ユーザーがアクセスできる参照機能用の単純な結合テーブルです。
Column | References
user user.id
access access.id
したがって、各ユーザーおよび各アクセス レベルに多数のエントリが存在する可能性があります。「スーパーユーザー」のために物事を単純化するために、すべてのページにアクセスできることを意味するNULL
値が必要でした (これは、テーブルaccess
内の行を参照していない値を入力する方法を理解できる唯一の方法です)。access
問題は、MySQL がNULL
主キーの一部として値を許可しないことです。
主キーの問題を回避する方法はNULL
ありますか、または外部キーのすべての行 (または行なし) を参照する別の方法はありますか? これを回避する唯一の方法は、外部キーを無効にするか、テーブル内のすべての access.id に行を追加することです。どちらも望ましくないでしょう。