我在设计此表及其约束时遇到困难。
我有一个用户列表,每个用户都可以有一个首选餐食列表。为了确定接下来要做什么饭菜,我分配了列表值。
Yummy <- value 5.
OK <- value 3.
Disgusting <- value 1.
我只希望每个用户能够在一个类别中标记每顿饭。
目前我有一个令人难以置信的简单数据库,它是:
User(id, name)
Meal(id, name)
Yummy(id, userid, mealid) where userid id and mealid are foreign keys.
OK(id, userid, mealid) where userid id and mealid are foreign keys.
我想做的是,如果我将千层面插入到 Yummy
中,那么我就不能将该值插入到 'OK'
或 “恶心”
。我认为对 mealid 和 userid 进行限制可能是正确的方法,但我有点力不从心。
任何帮助或建议将不胜感激。
最佳答案
您可能会更好地使用与此类似的数据库设计:
user (id, name)
meal (id, name)
rating (id, name, value)
user_meal_rating (user_id, meal_id, rating_id) *primary key on (user_id, meal_id)*
关于mysql - 多个表上的 SQL 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55540423/