我目前正在使用6个表:users
,categories
,videogames
,videogames_categories_bridge
,users_favorites
,users_dislikes
。我正在尝试以最佳方式布置表格以向用户显示视频游戏首选项(请参阅下面的示例)。但是,我在创建表时遇到外键约束错误。我如何使用当前的表模式实现(如果可能)以下内容?另外,有没有办法避免插入的favorite
和dislike
}值都标记为true
的{{1}}? SQLFIDDLE
示例:显示game
userid 569723
答案 0 :(得分:1)
您的外键和表格一般存在一些问题:
user_id
表中的users
只是您的第二列主键,它必须是某个索引中的第一个)videogames_categories_bridge.category_id
)中,您尝试引用同一个表中的同一列,这没有意义users
和categories
中的主键同时包含名称AND ID,因此它们不会强制执行 - 通常ID是外键的正确ID。您定义它的方式可能是多个不同名称的相同ID。http://sqlfiddle.com/#!9/9e24b - 修改后的FK