MySQL数据库中tinyint类型字段对应JAVA的boolean类型,true和false

2024-03-20 3111阅读

前言: 

MySQL数据库中tinyint类型字段对应JAVA的boolean类型,true和false 第1张
()

     有时候,在Mysql数据库中,建立表中列的字段时候,明确知道这个列字段,只会存在0或者1,那么就可以使用tinyint类型,如果取出来的话,0会变成false,1会变成true。

注意:

MySQL数据库中tinyint类型字段对应JAVA的boolean类型,true和false 第2张
()

    1. MySQL保存boolean值时用1代表TRUE,0代表FALSE。boolean在MySQL里的类型为tinyint(1)。MySQL里有四个常量:true,false,TRUE,FALSE分别代表1,0,1,0。

     2. 场景:

         字段:status (值为1,2,3)

         类型:tinyint  长度:1(有符号的)

         结果:查询出来的数据列表,状态值不管是1还是2还是3,都是"boolean true"

         分析并解决:

         分析:由于MySql中没有boolean类型,所以会用到tinyint[1]类型来表示,在mysql中boolean=tinyint[1]

         解决:tinyint类型长度的问题,当我把长度改成4时,查询结果就正常了

         新思路:

               在不改变类型长度下,修改查询sql语句,在你需要执行的sql语句中,把这个状态字段*1,结果就会得到数据库存的值了(注意:记得加别名,不然查询出来的就是status*1 => '1')

 

最后总结:

 1.修改tinyint类型的长度

 2.在查询的sql语句上面做修改

 

        所以由这里可以看出,当你使用tinyint[1]来存储超过0,1两个值以外的值,比如存储2,那这个2就是脏数据就用tinyint[4],tinyint[1]只适用于存储0和1两个值,也即真和假,true和false

  一般的,咱们如果存的是纯数字的话,建议用tinyint,如果是字符串,且是固定长度的,建议用char,而enum的枚举字段,使用的使用需要慎重考虑,避免带来不必要的麻烦

 


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]