kettle 遇到 解決Incorrect integer value: '' for column 'id' at row 1 完美解決-費元星


最近自己在測試一個開源的程序,測試中發現。該程序都添加和更新的時候回出現 Incorrect integer value: '' for column 'id' at row 1類是的錯誤!

后來我自己測試了一下:

insert into log values('','admin','31','002t')

這樣寫就會報錯: Incorrect integer value: '' for column 'id' at row 1

一般我們是認為應該沒錯誤的。后來查了下MYSQL的資料。發現5以上的版本如果是空值應該要寫NULL

這種問題一般mysql 5.x上出現。我用的mysql5.1

官方解釋說:得知新版本mysql對空值插入有"bug",要在安裝mysql的時候去除默認勾選的enable strict SQL mode

那么如果我們安裝好了mysql怎么辦了,解決辦法是更改mysql中的配置 my.ini

 
 

my.ini中查找sql-mode,

默認為sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

將其修改為sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重啟mysql后即可

 

那么如果是虛擬主機或者是空間怎么辦了。如果你能讓空間商幫你改那是最好。如果不能,那你就只能程序改改。都規范一點。空值就寫 null

 

 

其實最后的結果是表沒建成功,我后來是換了一軟件可以了


免責聲明!

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



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