设计Mysql 时遇到一个问题
有两个表 1、用户表 2、用户钱包表 钱包表字段 id UId 钱包1 钱包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
----- 补充一个系统里的虚拟钱包不可能是无限多的。顶多会员,积分,现金余额
如果不需要对不同钱包类型进行汇总查询的话可以直接一个字段直接用json格式存储,格式封装个函数出来,否则还是评论一的格式,分表id根据你的需求酌情考虑要不要存在
钱包表
id(钱包ID) user_id(钱包的用户ID) balance(余额) ...其他逻辑字段
横向变竖向
id UId 钱包列 1 1 钱包1 1 1 钱包2 2 2 钱包3 3 4 钱包4