如何在phpmyadmin中关联同一张表的两个字段?

Posted

技术标签:

【中文标题】如何在phpmyadmin中关联同一张表的两个字段?【英文标题】:how to relate two fields of same table in phpmyadmin? 【发布时间】:2013-02-05 02:36:07 【问题描述】:

我创建了 1 个存储 useruid 的表。

其他表存储用户的技能:

如果uid = 111 进入skill = aaa,它将存储到技能表中,但我希望当uid = 111 再次进入skill = aaa 时,它不应该存储在技能表中。 和uid = 222 输入skill = aaa 然后表将存储该值。

基本上我想将uid和技能表的技能字段相关联,所以每个唯一的uid应该有唯一的技能值,但对于不同的uids技能可以相同。

【问题讨论】:

如何将技能和用户表联系起来?这将决定如何解决这个问题 【参考方案1】:

在两个 id UId 和技能上使用复合主键。另外,要在两个表之间建立多对多关系,以便每个用户都有很多技能,并且要normalize您的表,最好这样创建它:

Users 表:

UserID主键, USername。 ...

Skills 表:

SkillId主键, SkillName, ...

联动表:

UsersSkills

UserId外键引用Users(UserId), SkillId外键引用Skills(SkillId)

然后重要的部分是在UserIdSkillId上做一个复合主键,这样每个用户ID的技能都是唯一的。

在您的示例中,技能 aaa 将存储在 ID = 1 的 Skills 表中,其中用户 UserId = 111 存储在 Users 表中。然后UsersSkills 将包含如下内容:

UserId SkillId
 111   1

【讨论】:

以上是关于如何在phpmyadmin中关联同一张表的两个字段?的主要内容,如果未能解决你的问题,请参考以下文章

mysql如何把同一张表的一个字段内的内容复制到另一个字段里

mysql同一张表中两个字段 关联另一张表的相同字段 查询出两个值

hibernate 3如何级联更新

TP5模型belongsTo和hasOne这两个方法的区别

THINKPHP怎么查询一张表中某个字段数据重复次数最多的前几名!

如何使用 GetRolesForUser 使用 asp.net mvc 调用同一个表的两个字段