首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储和检索数据的最佳实践

存储和检索数据的最佳实践
EN

Stack Overflow用户
提问于 2014-02-03 07:04:12
回答 1查看 120关注 0票数 0

我正在设计一个新的数据库,其中我有两个表,一个用户和一个技能表。用户可以拥有许多技能。存储多个技能、以逗号分隔的技能ids (1,2)或存储技能名称(PHP、Ruby)的最佳实践是什么?以下是数据库的简化版本。

用户表:

代码语言:javascript
复制
id int(),
name varcha(),
email varchar(),
skillID varchar()

ID  | name      | email                 | skillID   |

1   | John Doe  | johndoe@domain.com    |1,2        |

2   | Jane Doe  | janedoe@domain.com    |2,3        |

3   | James Smith| jamessmith@domain.com|3,4        |

技能表:

代码语言:javascript
复制
Id int(),s
skill varchar()

ID  | skill       |

1   | PHP         |  
2   | Ruby        |    
3   | ColdFusion  |
4   | ASPX        |

如何检索所有技能ID为1和4的用户,提前感谢您的见解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-03 07:14:08

关于@Akhil Sidharth的评论。

代码语言:javascript
复制
user table
    userId
    name
    email

skill table
    skillId
    name

userSkills table
    userSkillId
    userId
    skillId

编辑:

我错过了你问题的最后一部分。

代码语言:javascript
复制
SELECT * FROM `userSkills` as `us` LEFT JOIN `user` as `u` ON us.`userId` = u.`userId` WHERE us.`skillId` = '1' OR us.`skillId` = '4'`
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21521494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档