如何在phpmyadmin中关联同一张表的两个字段?
Posted
技术标签:
【中文标题】如何在phpmyadmin中关联同一张表的两个字段?【英文标题】:how to relate two fields of same table in phpmyadmin? 【发布时间】:2013-02-05 02:36:07 【问题描述】:我创建了 1 个存储 user
和 uid
的表。
其他表存储用户的技能:
如果uid = 111
进入skill = aaa
,它将存储到技能表中,但我希望当uid = 111
再次进入skill = aaa
时,它不应该存储在技能表中。
和uid = 222
输入skill = aaa
然后表将存储该值。
基本上我想将uid
和技能表的技能字段相关联,所以每个唯一的uid
应该有唯一的技能值,但对于不同的uid
s技能可以相同。
【问题讨论】:
如何将技能和用户表联系起来?这将决定如何解决这个问题 【参考方案1】:在两个 id UId
和技能上使用复合主键。另外,要在两个表之间建立多对多关系,以便每个用户都有很多技能,并且要normalize您的表,最好这样创建它:
Users
表:
UserID
主键,
USername
。
...
Skills
表:
SkillId
主键,
SkillName
,
...
联动表:
UsersSkills
:
UserId
外键引用Users(UserId)
,
SkillId
外键引用Skills(SkillId)
。
然后重要的部分是在UserId
和SkillId
上做一个复合主键,这样每个用户ID的技能都是唯一的。
在您的示例中,技能 aaa
将存储在 ID = 1 的 Skills
表中,其中用户 UserId = 111
存储在 Users
表中。然后UsersSkills
将包含如下内容:
UserId SkillId
111 1
【讨论】:
以上是关于如何在phpmyadmin中关联同一张表的两个字段?的主要内容,如果未能解决你的问题,请参考以下文章
mysql如何把同一张表的一个字段内的内容复制到另一个字段里
mysql同一张表中两个字段 关联另一张表的相同字段 查询出两个值