我将boolean插入mysql中bit类型,读出来是false和true,但是用false查询用,是空的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我将boolean插入mysql中bit类型,读出来是false和true,但是用false查询用,是空的相关的知识,希望对你有一定的参考价值。
读出来没有转化,直接显示false,但是以false为条件查询则查不出来任何东西
boolean 只有true 和 false 而bit在数据库里存的是1和0,页面上是因为从数据库读取到程序的时候,已经把bit转成boolean了,而用sql语句查询,还是在数据库里查的,肯定要用bit支持的1和0才行咯追问可是我把bit设为64位了,0和1查不出来 navicat for mysql显示的false是0000000000000000000000000110011001100001011011000111001101100101
追答你的查询语句是怎么写的,你把false当成字符串写成2进制了~那肯定害死那串东西啊
追问那有什么办法不改动数据库就能查询呢?
追答不用改动数据库啊,我是想看看你查询的语句是怎么写的~
追问sql="select * from novel where IsFinished=0"; 查不出来,怎么改
追答select * from novel where IsFinished='0' 试试加个单引号
参考技术A mysql5.0以后,bit存储的是二进制,设置为1位就是1和0,就是true和false,如果设置大于1位,那就是二进制方式存储 参考技术B 读取bit类型的时候一定要注意转换成数字或者字符串类型,否则会在不同操作系统下得到不同的结果 参考技术C 查询条件使用0和1追问可是读出来我没转化它就显示false和true,难道页面显示的时候把0和1自己自动转化了
追答粘贴你的建表表脚本和显示程序,应该没有这么神奇的。
追问不是,我是把false插入到了长度为64的bit型中,结果是0000000000000000000000000110011001100001011011000111001101100101 这个
在程序中直接取值就成了false了
粘贴你的程序,可能有误会。
追问能不能把你的QQ给我啊?
Spring+Jpa插入boolean属性出现异常问题
问你个问题:
就是根据entity bean自动生成表时,若bean中有个boolean属性的字段,映射在表中的类型为bit 长度为1,当我插入boolean属性的值时,它为什么报java.sql.BatchUpdateException: Data too long for column 'visible' at row 1这个异常啊.
数据库为MySql.
以上是关于我将boolean插入mysql中bit类型,读出来是false和true,但是用false查询用,是空的的主要内容,如果未能解决你的问题,请参考以下文章
MySql - 在多列中存储多个boolean时使用哪种列类型?