账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于mysql Warning 1292,mysql5.5&mysql5.6
    66
    0

    执行画面保存操作,出了系统错误。查询了log

    Data truncation: Truncated incorrect INTEGER value: '';

    数据库用的是mysql5.6

    但是我改为前一阵用的 mysql5.5 就没有出现这个错误。
    就奇怪了,因为这俩数据库数据是一样的。
    百度了一下,可能与数据库模式有关系,于是在mysql命令行 查询数据库模式&执行报错sql
    5.5

    查询数据库模式
    mysql> select @@sql_mode;
    +------------+
    | @@sql_mode |
    +------------+
    |            |
    +------------+
    
    执行报错sql(仿照真实sql写的,真实sql是insert语句)
    mysql> SELECT CONVERT('', UNSIGNED);
    +-----------------------+
    | CONVERT('', UNSIGNED) |
    +-----------------------+
    |                     0 |
    +-----------------------+
    1 row in set, 1 warning (0.00 sec)
    
    mysql> show warnings;
    +---------+------+---------------------------------------+
    | Level   | Code | Message                               |
    +---------+------+---------------------------------------+
    | Warning | 1292 | Truncated incorrect INTEGER value: '' |
    +---------+------+---------------------------------------+
    1 row in set (0.00 sec)
    

    5.6

    查询数据库模式
    mysql> select @@sql_mode;
    +------------------------+
    | @@sql_mode             |
    +------------------------+
    | NO_ENGINE_SUBSTITUTION |
    +------------------------+
    
    执行报错sql(仿照真实sql写的,真实sql是insert语句)
    mysql> SELECT CONVERT('', UNSIGNED);
    +-----------------------+
    | CONVERT('', UNSIGNED) |
    +-----------------------+
    |                     0 |
    +-----------------------+
    1 row in set, 1 warning (0.00 sec)
    
    mysql> show warnings;
    +---------+------+---------------------------------------+
    | Level   | Code | Message                               |
    +---------+------+---------------------------------------+
    | Warning | 1292 | Truncated incorrect INTEGER value: '' |
    +---------+------+---------------------------------------+
    1 row in set (0.00 sec)
    
    
    
    

    网上查询说,

    sql_mode设置为空或仅NO_ENGINE_SUBSTITUTION都是宽松无敌模式

    而命令行执行sql确实也都报的警告。

    系统错误的根本原因是数据库数据错误。
    但是
    为什么工程连接mysql5.5就能插入数据。连接mysql5.6就报系统错误呢???求大神解答!

    3
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 千里山河 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部