zoukankan      html  css  js  c++  java
  • mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案

      本人开发项目时,在从一个服务器导出数据库到另一服务器时,存储过程中,报Incorrect DECIMAL value: '0' for column '' at row -1错误。

      原因:

        存储过程中使用了:函数CONVERT(IF(IN_YYJHFDL IS NULL,0,IN_EYJHFDL),DECIMAL(12,4))

       在网上找了说是因为mysql的两个版本不一样造成的,是mysql的一个bug,5以上的版本如果是空值应该要写NULL。

    解决方案一:

    1 my.ini中查找sql-mode,  
    2   
    3 默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"4   
    5 将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可  

    本人尝试过这种方法,没有解决问题。

    解决方案二:

      考虑到最后还是解决问题,就将存储过程中的CONVERT(IF(IN_YYJHFDL IS NULL,0,IN_EYJHFDL),DECIMAL(12,4))

      改成了ROUND(IF(IN_YYJHFDL IS NULL,0,IN_SEYJHYDL),4)

      实现了同样的功能。

      希望能够帮助到大家。

     

  • 相关阅读:
    .net注册iis
    hdu 1081To The Max
    hdu 1312Red and Black
    hdu 1016Prime Ring Problem
    hdu 1159Common Subsequence
    hdu 1372Knight Moves
    hdu 1686Oulipo
    hdu 1241Oil Deposits
    hdu 1171Big Event in HDU
    hdu 4006The kth great number
  • 原文地址:https://www.cnblogs.com/wmcoder/p/5715204.html
Copyright © 2011-2022 走看看