mysql 的tinyint(1)

最近 小弟在使用mysql存取数据的时候发现的一个特别的情况。就是某个库表中的一个字段类型是tinyint(1),如果只有两个值, 分别是0 和1,在java程序中取出就是 对应false 和true。

对此情况,特意问了问度娘,发现这是mysql 数据库的一个特性。tinyint类型的字段如果长度只有1,那么取出时。默认会转成false 和true ,在存的时候,也是一样。如果存0和1之外的数字,也只会是1。

所以,mysq 要存boolean 值,就使用tinyint(1)字段。0为false  1为true。

如果存0、1、2、3、4、5、6、7、8这种数字,就使用tinyint(4)字段。

如果非要取出tinyint(1)字段的0和1 这种数字,则需要在对应的字段取出时,加上*1即可

猜你喜欢

转载自my.oschina.net/u/2543341/blog/1575924