求教一个用户徽章数据表设计问题

MiNaMi · 2022-11-10 19:17:11 · 1580 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-11-10 19:17:11 的主题,其中的信息可能已经有所发展或是发生改变。

用户表

type User struct {
    Id        int64
    Username  string
    Password  string
}

徽章表

type Badges struct {

    Name        string     //徽章名称
    Icon        string    //徽章图标
    Condition   string    //徽章条件
    IsAuto      uint8     //是否自动发放:1-是/0-否
    IsShow      uint8     //是否显示:1-是/0-否
    IsSystem    uint8     //是否系统徽章:1-是/0-否
}

我的想法是 用户可以拥有多个徽章,但是只能佩戴一个,在首页就显示佩戴的那个徽章,而在个人主页就列出出用户拥有的所有徽章作为选择,请问我这个数据表要怎么设计呢?

萌新的问题可能有些傻,大佬们不要笑话哦


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1580 次点击  
加入收藏 微博
5 回复  |  直到 2022-11-11 15:37:36
jan-bar
jan-bar · #1 · 2年之前

可以用位表示,一个int64可以表示64个徽章。数据库里面存在用户那一行的一列里面。获得哪种徽章就把哪一位或为1。加一列表示选择哪位的徽章佩戴。

MiNaMi
MiNaMi · #2 · 2年之前
jan-barjan-bar #1 回复

可以用位表示,一个int64可以表示64个徽章。数据库里面存在用户那一行的一列里面。获得哪种徽章就把哪一位或为1。加一列表示选择哪位的徽章佩戴。

谢谢

a31001314
a31001314 · #3 · 2年之前

加一个关系表 微信图片_20221111095753.png 表示用户1有badge_id为1-3的徽章,当前使用的是badge_id为2的徽章

a31001314
a31001314 · #4 · 2年之前
MiNaMi
MiNaMi · #5 · 2年之前
a31001314a31001314 #3 回复

加一个关系表 ![微信图片_20221111095753.png](https://static.golangjob.cn/221111/bcc680c18d8e7af0707555c36d1a315d.png) 表示用户1有badge_id为1-3的徽章,当前使用的是badge_id为2的徽章

谢谢 大佬

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传