gpt4 book ai didi

mysql - 创建值列表作为字段

转载 作者:行者123 更新时间:2023-11-29 23:17:13 25 4
gpt4 key购买 nike

我是 mysql 新手,尝试做类似的事情:我需要一个可以容纳无限数量的用户 ID 的表,我认为我可以这样做:

TABLE USER FIELDS:
user_id - PK
group_id - FK
TABLE GROUP FIELDS:
group_id - PK
user_id - FK

当然它不会工作,因为主键是唯一的,所以我现在得到了 1:1 关系,完全没有任何关系,我试图不将 group_id 设置为 PK ,而不是我可以有类似 n:n 关系的东西,但你不能在 NOT UNIQUE 字段上创建外键,所以这是不可能的。有人可以帮助我吗?

最佳答案

从你的问题中绝对不清楚你的最终目标是什么,但如果你正在寻找一种在用户和组之间创建 N:N 关系的方法,你可以通过引入这样的数据透视表来实现

CREATE TABLE users
(
user_id INT NOT NULL PRIMARY KEY,
user_name VARCHAR(255)
);

CREATE TABLE groups
(
group_id INT NOT NULL PRIMARY KEY,
group_name VARCHAR(255)
);

CREATE TABLE group_user
(
group_id INT NOT NULL,
user_id INT NOT NULL,
PRIMARY KEY (group_id, user_id),
FOREIGN KEY (group_id) REFERENCES groups (group_id),
FOREIGN KEY (user_id) REFERENCES users (user_id)
);

这是一个 SQLFiddle 演示

关于mysql - 创建值列表作为字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27672934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com