MySQL中boolean类型设置(想法分享)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL中boolean类型设置(想法分享)

本篇文章小结一下关于数据库设计关于字段设计的想法

前端常常可以看见一个按钮启用,不启用,如果这个属性就两个情况的话,通常字段就是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.

愿你们奔赴在自己的热爱里!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
存储 关系型数据库 MySQL
MySQL bit类型增加索引后查询结果不正确案例浅析
【8月更文挑战第17天】在MySQL中,`BIT`类型字段在添加索引后可能出现查询结果异常。表现为查询结果与预期不符,如返回错误记录或遗漏部分数据。原因包括索引使用不当、数据存储及比较问题,以及索引创建时未充分考虑`BIT`特性。解决方法涉及正确运用索引、理解`BIT`的存储和比较机制,以及合理创建索引以覆盖各种查询条件。通过`EXPLAIN`分析执行计划可帮助诊断和优化查询。
|
6天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
10天前
|
存储 关系型数据库 MySQL
"Linux环境下MySQL数据库名及表名大小写敏感性设置详解:从配置到影响,确保数据库操作的准确与高效"
【8月更文挑战第9天】在Linux环境中,MySQL数据库名及表名的大小写敏感性是一项重要配置。默认情况下,MySQL在Linux上区分大小写,但这可通过配置文件 `/etc/my.cnf` 中的 `lower_case_table_names` 参数调整。该参数设为0时,名称存储时保持原样,查询时不区分大小写;设为1则全部转换为小写。通过编辑配置文件并重启MySQL服务,可根据需求灵活控制名称的大小写敏感性,确保数据一致性和应用兼容性。
28 3
|
16天前
|
Python
python布尔类型 (Boolean Type)
【8月更文挑战第3天】
30 8
|
6天前
|
关系型数据库 MySQL 数据库
设置MySQL 创建数据库,默认为UTF-8
设置MySQL 创建数据库,默认为UTF-8
8 0
|
1月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之要将MySQL同步到Doris,并设置整库同步,只变更库名、表名和表结构都不变,该如何设置
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
22天前
|
存储 关系型数据库 MySQL
Mysql有布尔(BOOL)类型吗
Mysql有布尔(BOOL)类型吗
43 0
|
30天前
|
SQL 存储 数据库
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表
|
1月前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))

热门文章

最新文章