开发者社区> 问答> 正文

用户自定义数据表中的字段问题

有一个需求,比如客户上传以前的excel表格或者csv文件,导入用户表,是用户信息,包括以下列:昵称,城市,生日,订单号,手机号等,

但在我们的系统中,现有的用户表的字段只有昵称,城市等,没有生日,订单号,手机号等字段。

能否让客户上传文件时,读取表格文件并新建一张表,储存本来用户表中没有的字段信息?

或是把本来没有的字段信息串行化后存入原用户表中的一个特定字段?在前台呈现时,格式化这个特定字段并显示?

哪种可行性更高呢,或是有其他办法?

展开
收起
落地花开啦 2016-06-15 18:22:57 2439 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果自定义的字段没有排序,检索方面的需求,还是建议用大字段吧,把非标准字段的数据全部以JSON或数组序列化的格式存到一个大字段中,需要展示的时候再做格式化输出就好了。

    如果有排序或检索需求,则可能需要结合一些开源的索引软件比如Apache Lucene来实现了,看具体需求吧。

    还有另外一种方式,代码逻辑上可能稍微复杂一点,存储效率也会很低,其实不大建议,但是如果你不是海量数据的话,问题也不大。方法就是建立一张字段足够多的表(user_data),字段命名都采用通用命名方式比如“column1,column2“等,然后专门建立一个表做用户的数据字段对应(user_data_columns),格式如下:

    | uid | name | field |
    | 101 | 生日 | column1 |
    | 101 | 手机号 | column5 |

    需要使用的时候,先到user_data_columns表中把相应的字段名和表的字段读取出来,然后到user_data表中去取相应列的数据。

    2019-07-17 19:40:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载