本篇文章小结一下关于数据库设计关于字段设计的想法
前端常常可以看见一个按钮启用,不启用,如果这个属性就两个情况的话,通常字段就是0,1等设计
在日常数据库建表中常有:启用或者不启用这样的字段
关于数据库这个字段的类型通常有几种设计方式,比如int,char,tinyint都行,根据实际情况定夺
你一定思考过数据库中的ture 或者false对应的类型代表什么吧?
boolean在MySQL里的类型为tinyint(1)
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,
java后端取出数据的时候才会自动转化成true(数据库中的1)和false(数据库中的0)
mysql数据库的布尔型对应的数据类型为tinyint,存入的数据,0代表false,1代表true
如上述启用,不启用的情况我们可以用这个类型设计对应字段
拓展一下相关简单知识点
关于前端接到true 或者false想显示0,1的问题,主要针对你的选择按钮是0,1
如果是Boolean值,true和false将分别转换为1 和 0。
比如接到的是status
let a =Number(status)
同样如果后台传来0或者1,想在前端显示ture或者false的情况使用Boolean即可
//这里你使用Boolean类型的值转换一下即可
console.log(Boolean(0));//=>false
当然在如果类型情况比较多的时候你可以换成其它的对应字段
应用场景,如帖子的发布状态1.发布 2.已删除 3.待发布等
拓展想法:关于删除这里设计,最初学习mysql的时候学到的删除都是物理删除真的删除了,但是实际场景中大多都是逻辑删除;
比如你设计一个字段代表是否删除,0代表不删除,1代表删除,那么即使操作失误了,我们也可以从数据库中还原;
正如我上面做帖子相关的开发,管理员可以拉黑用户的帖子也可以解除拉黑,这里我们查询出帖子列表的条件就是where status = 1
,如果是选择后台拉黑用户帖子,将这个帖子状态设置为3即可实现帖子拉黑(逻辑删除),前端帖子列表也看不到这个帖子了。
The best investment is to invest in yourself.
愿你们奔赴在自己的热爱里!