dbvisualizer 连接mysql数据库,字段类型是tinyint(1), 编辑数据时只允许输入0或者1,
用sql语句可以更新成其他值,但是显示时还是0和1,怎么解决?
jdbc:mysql://192.168.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false
在连接数据库的时候增加:&tinyInt1isBit=false 查询出的结果就正常了
MYSQL中没有布尔类型,但是如果你定义了布尔类型,它会自动给你转换成Tinyint。保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),
MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,
因此这个问题可能是在创建数据库的时候针对这个字段定义了布尔类型的限制
tinyint只能表示为0 1,但是出于兼容的考虑,mysql将0视作0,将非0视作1,因此sql插入1 2 3 -1 -2等等,结果都是1
在mysqlworkbench中可以设置成其它值
单击数据库连接,在Properties中找到Driver Properties,找到tinyInt1isBit,设置value为false,就可以正常显示