我有表 roles
和 users
。 roles
中的 id
是 users
表中 role
列的外键。
有 2 个角色:support
和 manager。我如何指定用户 peter
被分配了这两个角色?
角色
| id | role |
|----|---------|
| 1 | support |
| 2 | manager |
用户
| id | user | pass | role (FK) |
|----|----------|-------|-----------|
| 1 | peter | hash1 | 1,2 | <-- 2 foreign keys
| 2 | jennifer | hash2 | 2 |
最佳答案
这是一个经典的多对多关系。一个用户可以有多个角色,一个角色可以分配给多个用户。 您可能需要使用如下信息创建一个新的 UserRole 表:
id userId roleId
1 1 1
2 1 2
3 2 2
4 ...
如果你不想要代理键,删除 id 并使 userId + roleId 成为主键:
userId roleId
1 1
1 2
2 2
关于sql - 如何将 2 个外键分配给一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38702649/