Golang Gorm時間維度數據更新問題


mysql的5.7以上版本不支持零日期格式,提示錯誤Incorrect datetime value: '0000-00-00' for column ...

方式1:

修改struct結構體

// 1、time.time日期類型修改為*time.time指針日期類型
// 設置數據庫時間為Null

方式2:

mysql 5.7版本默認的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",這個配置嚴格執行了"SQL92標准"。

show variables like 'sql_mode'
// 刪除NO_ZERO_DATA參數
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENgINE_SUBSTITUTION'

Go日常開發中以上方式不推薦使用,重新定義struct結構體不含更新時間或創建時間維度,不會出現上述ERROR Incorrect datetime value: '0000-00-00' for column ...

注:從MySQL 5.6升級5.7過程中,為了兼容5.6中語法,多數會修改sql_mode配置,


免責聲明!

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



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