记录一个关于数据库的操作

今天,遇到了这样一个场景,数据表需要加字段,每条记录新增三个与之相关的属性,每个属性可能有true和false两种情况。

那么问题就来了,怎么处理呢?

方法一:简单粗暴

加三个字段,写明true or false,这样做显然不太好。

方法二:中间表

那么可以换一种思路,既然不想在一条记录上加三个字段,可以选择新建一张中间表,负责存储每条记录的id以及属性的true or false。

但是,貌似也不太好,在查询的时候还需要连表,而且有点麻烦。

方法三:标记位

这个方法是一个老同事告诉我的,在每条记录上新增一个字段作为标记位,三个属性可以用三个数字表示,比如0代表true,1代表false,001也就是true true false。

惊艳之余我开始思考后续的业务怎么处理,毕竟这玩意需要在查询的时候做判断,略加思考想到曾经在书中看到的‘_’,可以where 字段名 like '_0_',这样就可以取出第二个属性为true的记录了。

有点意思哦,思路又开阔了一点点。

posted @ 2021-04-12 16:07  无心大魔王  阅读(36)  评论(0编辑  收藏  举报