在以往的数据库使用中,我们通常在一个数据库里操作某些表,如果有很多字段不同但目的相同的表,则需要建立很多的表来完成需求,这时候,可以通过在一个字段里添加多个数据来实现

比如,工单的创建,假如有请假,外购两个工单,请假需要的字段为请假时间,请假理由,而外购的工单需要价格,理由,而两个工单的审批人也都不同,但是,要求两张工单都在同一张表里

相信很多入门的程序猿到这里已经要提刀砍人了,难道要把两个工单的全部字段建出来,然后根据不同的工单来添加哪些数据,不添加哪些数据吗?

是的,上面的也是一个办法,但是,这样除了效率和辨识度的问题,还有一个最重要的问题就是,low

简单的来画个图吧

建立这样一张表,的确能够满足需求,只需要在创建外购的时候,请假的两个字段不填就好了(请忽略这张比较low的表)

而如果使用了自定义字段,就会是这样

怎么样,是不是简便的多了,只需要在取出该条数据的时候,多一个自定义字段的解析罢了,而且还节省空间和性能(请再次忽略这张low图)

推荐使用json数据类型储存自定义字段,这样无论是使用哪种语言来实现这项需求,都非常的简单