永洪社区

标题: mysql数据源导入系统后 tinyint类型字段全部转成了布尔类型值 [打印本页]

作者: aki    时间: 2019-6-21 16:41
标题: mysql数据源导入系统后 tinyint类型字段全部转成了布尔类型值


作者: 永洪-key    时间: 2019-6-24 11:01
aki 发表于 2019-6-21 16:41

mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型,其实这个就是变相的布尔。
默认值也就是1,0两种,分别对应了布尔类型的true和false


作者: aki    时间: 2019-6-24 17:49
永洪-key 发表于 2019-6-24 11:01
mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型, ...

但我数据库里的值实际上是整数类型 比如订单状态 从0、1、2、3、4这样代表不同的订单状态,你是说数据库字段初始设置的时候就有问题了吗?
作者: aki    时间: 2019-6-24 17:51
永洪-key 发表于 2019-6-24 11:01
mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型, ...

难道永洪的系统 默认把mysql里的所有tinyint类型转成了布尔类型?
作者: 永洪-key    时间: 2019-6-25 15:38
aki 发表于 2019-6-24 17:49
但我数据库里的值实际上是整数类型 比如订单状态 从0、1、2、3、4这样代表不同的订单状态,你是说数据库 ...

这边验证了下,0为false,非零均为true的
咱们原始字段订单状态是不是可以更改一种数值类型呢
作者: nicolezyyyy    时间: 2020-5-6 15:06
永洪-key 发表于 2019-6-25 15:38
这边验证了下,0为false,非零均为true的
咱们原始字段订单状态是不是可以更改一种数值类型呢 ...

我也遇到了这个问题,有办法解决吗
作者: mu婉清    时间: 2020-5-6 15:45
nicolezyyyy 发表于 2020-5-6 15:06
我也遇到了这个问题,有办法解决吗

由于MySql中没有boolean类型,所以会用到tinyint[1]类型来表示,在mysql中boolean=tinyint[1],因此在导入永洪数据集的时候,tinyint[1]会被转化成boolean,这边建议的解决办法是在数据库中更改字段类型,或者更改tinyint类型长度,这边测试过,当长度改为4时,查询结果就正常了




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4