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)

  實現了同樣的功能。

  希望能夠幫助到大家。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM