sql - 只允许 sql 表中的唯一组合
问题描述
我正在尝试在 VS 的网络框架中创建一个具有房间和用户 ID 的 sql 表,但我希望每个组合中只有一个可以存在于表中:
Want:
room --- user id
1 2
1 3
3 2
2 1
1 1
3 1
Dont want:
room --- user id
1 2
1 2
我怎样才能使它只能输入唯一的组合?
解决方案
您可以使用唯一约束或索引强制唯一性:
create unique index unq_t_room_userid on t(room, user_id);
或者:
alter table t add constraint unq_t_room_userid
unique (room, user_id);
推荐阅读
- ios - ReasonML 可以用来制作原生 iOS 应用吗?
- node.js - 在 node.js 中为电影 api 添加“+”到“”
- vb.net - Vb.net 遍历字典以刷新列表框项属性
- rust - 访问另一个哈希图中的非可变哈希图
- python - 为什么 r2_score 在 train_test_split 和 pipeline cross_val_score 之间有很大不同?
- python - 如何在 python 中将 .csv 更改为列表,反之亦然?
- php - Lumen / Docker / MySQL (SQLSTATE[HY000] [2002] Connection denied) 但我可以外部连接
- javascript - 将嵌套数组值映射到 Map,并具有按数组索引设置 Map 值的功能,该索引将通过引用反映在嵌套数组中
- docker - 如何使用 exec、rw 标志挂载 docker tmpfs?
- python - 拆分 CSV 时打开的输出文件过多