2013-02-20 188 views
0

我创建了1个表,其中存储了useruid如何在phpmyadmin中关联同一个表的两个字段?

其他表中存储了用户的技能:

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

基本上我想涉及技能表uid和技术领域等每一个独特的uid应该有独特的技能值,但对于不同的uid的技能可以相同。

+0

你如何链接技能和用户表?这将决定如何解决这个问题 – Techmonk 2013-02-20 07:09:47

回答

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 
相关问题