我创建了 1 个存储user和的表uid。
其他表存储用户的技能:
- 如果
uid = 111进入skill = aaa它将存储到技能表中,但我希望uid = 111再次进入时skill = aaa它不应该存储在技能表中。 - 并
uid = 222输入skill = aaa然后表将存储该值。
基本上我想关联uid技能表的技能领域,所以每个独特的uid都应该有独特的技能值,但是对于不同uid的技能可以是相同的。
我创建了 1 个存储user和的表uid。
其他表存储用户的技能:
uid = 111进入skill = aaa它将存储到技能表中,但我希望uid = 111再次进入时skill = aaa它不应该存储在技能表中。uid = 222输入skill = aaa然后表将存储该值。基本上我想关联uid技能表的技能领域,所以每个独特的uid都应该有独特的技能值,但是对于不同uid的技能可以是相同的。
UId在两个 id和技能上使用复合主键。此外,要在两个表之间建立多对多关系,以便每个用户都有很多技能,并 规范您的表,最好以这种方式创建它:
Users桌子:
UserID首要的关键,USername.Skills桌子:
SkillId首要的关键,SkillName,联动表:
UsersSkills:
UserId外键引用Users(UserId),SkillId外键引用Skills(SkillId)。UserId然后重要的部分是在and上创建一个复合主键SkillId,这样每个用户 ID 的技能都是唯一的。
在您的示例中,技能aaa将存储在SkillsId = 1 的表中,用户UserId = 111存储在Users表中。然后UsersSkills将包含以下内容:
UserId SkillId
111 1