素材牛VIP会员
Mysql 设计问题
 走***一  分类:SQL代码  人气:979  回帖:5  发布于6年前 收藏

设计Mysql 时遇到一个问题

有两个表

1、用户表

2、用户钱包表
钱包表字段
id  UId  钱包1   钱包2

由于钱包表的钱包数量是不一定的,可以添加、删除

我想着是必须要通过修改表结构才能解决。
请教还有什么更好的方式吗??

如果不修改表结构会有几个问题

添加钱包的时候,得为每个用户添加一条新钱包数据

添加新用户的时候,也得同时添加多个钱包!

这比改表结构不是更复杂了? 
 标签:mysql

讨论这个帖子(5)垃圾回帖将一律封号处理……

Lv6 码匠
问***m Linux系统工程师 6年前#1

比较奇怪的是所谓的钱包难道是每个用户的固定属性吗,也就是说只要钱包的种类有五种,那每个用户就肯定都有这五种钱包吗(不然很难理解新增一个用户的时候,必须把所有的钱包添加到这个用户底下)

Lv2 入门
逸***S JS工程师 6年前#2

用户资产表

id  UId  assert_type_id balance
 1   1        1           1.00
 1   1        2           1.00
 2   2        3           1.00
 3   4        4           1.00

资产类型表

id  assert_type
 1     钱包1
 2     钱包2
 3     钱包3
 4     钱包4

----- 补充
一个系统里的虚拟钱包不可能是无限多的。顶多会员,积分,现金余额

Lv3 码奴
陈***子 PHP开发工程师 6年前#3

如果不需要对不同钱包类型进行汇总查询的话可以直接一个字段直接用json格式存储,格式封装个函数出来,否则还是评论一的格式,分表id根据你的需求酌情考虑要不要存在

Lv5 码农
伴***4 JAVA开发工程师 6年前#4

钱包表

id(钱包ID) user_id(钱包的用户ID) balance(余额) ...其他逻辑字段
Lv1 新人
十***刻 产品经理 6年前#5

横向变竖向

id  UId  钱包列
 1   1    钱包1
 1   1    钱包2
 2   2    钱包3
 3   4    钱包4
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取