MySQL数据库tinyint类型字段读取数据可能为true和false

一、解决tinyint类型字段读取数据为true/false的问题

字段:flag (值为0,1,2)

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

结果:mybatis查询出来的数据列表,值不管是1还是2,都是"boolean true",值为0时,则为"boolean false"

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

解决办法将tinyint类型长度修改成大于1,当我把长度改成2时,查询结果就正常了

也可以在你需要执行的sql语句中,把这个字段*1,结果就会得到数据库存的值了(注意:记得加别名,不然查询出来的就是flag*1 => ‘1’)

所以由此可以看出,当你使用tinyint[1]来存储数据时,tinyint[1]只适用于存储0和1两个值,也即真和假,true和false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值