2013-02-20 184 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 
相關問題