sql - 如何保证字段值的唯一性?
问题描述
我有一张看起来像这样的桌子:
id bigint,
user_id bigint,
main boolean,
...
在所有具有相同的条目中,user_id
只有一个可以拥有main = true
。请教,如何实现?
解决方案
您可以使用部分索引。
CREATE UNIQUE INDEX index_name ON table_name (user_id) WHERE main;
推荐阅读
- c++ - 如何使用 C++ 中的 std::optional< std::variant > 类型解析 json 文件?
- redis - ft.search 'OR' 查询是否有限制?
- laravel - Laravel:通过迭代编辑对象?
- c# - 在搜索c#winforms上保持复选框列表中项目的检查状态
- jquery - jQuery函数不断循环不停
- ubuntu-18.04 - 在 org.kde.klauncher 的对象 /KLauncher 中找不到“.exec_blind”
- python-3.x - 尽管在训练集上具有很高的准确度,但没有得到很高的验证准确度
- vscode-settings - 如何防止VS Code创建名为“~”的目录(Linux下)?
- java - 在 selenium 中使用 xpath td/span 在文本区域中输入文本
- laravel - Laravel 自定义验证未创建 Eloquent 对象