• 发帖数3
  • 粉丝0

此人很懒,什么也没有留下

    mysql数据源导入系统后 tinyint类型字段全部转成了布尔类型值

    aki玄铁三 显示全部楼层 发表于 2019-6-21 16:41:11 |阅读模式 打印 上一主题 下一主题

    回复

    使用道具 举报

    精彩评论6

    永洪-key新手上路 显示全部楼层 发表于 2019-6-24 11:01:31

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

    回复 支持 反对

    使用道具 举报

    aki玄铁三 显示全部楼层 发表于 2019-6-24 17:49:18
    永洪-key 发表于 2019-6-24 11:01
    mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型, ...

    但我数据库里的值实际上是整数类型 比如订单状态 从0、1、2、3、4这样代表不同的订单状态,你是说数据库字段初始设置的时候就有问题了吗?
    回复 支持 反对

    使用道具 举报

    aki玄铁三 显示全部楼层 发表于 2019-6-24 17:51:58
    永洪-key 发表于 2019-6-24 11:01
    mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型, ...

    难道永洪的系统 默认把mysql里的所有tinyint类型转成了布尔类型?
    回复 支持 反对

    使用道具 举报

    永洪-key新手上路 显示全部楼层 发表于 2019-6-25 15:38:28
    aki 发表于 2019-6-24 17:49
    但我数据库里的值实际上是整数类型 比如订单状态 从0、1、2、3、4这样代表不同的订单状态,你是说数据库 ...

    这边验证了下,0为false,非零均为true的
    咱们原始字段订单状态是不是可以更改一种数值类型呢
    回复 支持 反对

    使用道具 举报

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

    我也遇到了这个问题,有办法解决吗
    回复 支持 反对

    使用道具 举报

    mu婉清铂金一 显示全部楼层 发表于 2020-5-6 15:45:24
    nicolezyyyy 发表于 2020-5-6 15:06
    我也遇到了这个问题,有办法解决吗

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

    使用道具 举报

    高级模式
    您需要登录后才可以回帖 登录 | 免费注册

    • 官方微信

      欢迎关注永洪服务号!收费为0,价值无限

      扫码关注
    • 新浪微博

      让每位用户轻松挖掘数据价值!

      访问新浪微博
    • 智能客服
    50W

    会员等你来哦

    Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
    返回顶部