mysql - 只允许每个 id 列有一次 true 吗?
问题描述
我有这张桌子:
ID | genre_id | is_best_in_genre | movie_name
--------------------------------
1 | 3 | 0 | Hateful Eight
2 | 3 | 0 | Django Unchained
2 | 3 | 1 | Inglorious B
2 | 3 | 0 | Once Upon A Time in Hollywood
is_best_in_genre
只能为真 (1) 一次genre_id
。每种类型只能有一部最佳电影。我将如何做出这样的约束?
解决方案
替代想法:
处理此问题的更合适、更规范的方法可能是创建一个单独的“best_in_genre”表,并在genre_id
.
这也更容易更新,因为在选择新的“最佳”时,您不需要确保所有内容都为 0。
推荐阅读
- postgresql - 如何在每次使用 Maven 执行测试之前重新启动 Docker 容器?
- python - 如何在python中写入文本文件的第一行
- python - 为什么其中一些 Python 对象字段是元组而不是源变量中的类型
- laravel - laravel-7 : date_format jalali 日历验证
- python - reticulate 看不到 conda 环境中的系统库
- discord.py - 不和谐.py | 添加角色
- search - VS Code:如何在搜索中预先选择正则表达式选项
- javascript - 如何修复“多部分请求”错误?
- c# - Xamarin 使选项卡扩展全宽
- c# - 如何将 CSS 添加到 XMLWorker 解析器?