创建包含外键数组的字段的正确约定是什么?在这种特殊情况下,我创建了一个名为“owners”的字段,该字段将保存一组用户 ID。我想确保我选择了正确的类型以最大限度地提高速度并遵循惯例。
谢谢。
Fra*_*eil 10
“一种真正的方法”是创建一个表并使用外键:
CREATE TABLE owners(
user_id int references users
, account_id int references accounts
, primary key(user_id, account_id)
);
Run Code Online (Sandbox Code Playgroud)
这样你就可以使用一个简单的查询来验证成员资格:
SELECT user_id, account_id FROM owners WHERE user_id = X AND account_id = Y
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法获取帐户的所有者列表:
SELECT user_id FROM owners WHERE account_id = X
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用反向查询查找用户拥有的所有帐户:
SELECT account_id FROM owners WHERE user_id = X
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7732 次 |
| 最近记录: |