Mysql數據類型TINYINT(1)與布爾型的坑


   需求背景:從MySQL數據庫讀取1、2、3、4等阿拉伯數字定義的狀態,並轉換成Java中Integer類型的數據,但是轉換失敗了。
   問題分析:布爾型 bool 或者 boolean 在MySQL里的類型定義為tinyint(1)。當在服務端讀取的時候,字段tinyint(1)的類型被當做boolean類型進行了返回,導致無法轉換為Integer類型。
   解決思路:修改tinyint數據類型長度或者改為int類型,mysql也就不再當做boolean類型進行返回了。
   經驗總結:Mysql表結構設計枚舉值為1、2、3等阿拉伯數字的時候,要避免設計為tinyint(1)類型,以防止與boolean類型數據結構混淆,導致不必要bug。


免責聲明!

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



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