Mysql 设计问题

设计Mysql 时遇到一个问题

有两个表

1、用户表

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

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

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

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

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

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

这比改表结构不是更复杂了? 
阅读 4k
5 个回答

用户资产表

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

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

钱包表

id(钱包ID) user_id(钱包的用户ID) balance(余额) ...其他逻辑字段

横向变竖向

id  UId  钱包列
 1   1    钱包1
 1   1    钱包2
 2   2    钱包3
 3   4    钱包4

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

新手上路,请多包涵

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题