解讀可能導致此報錯的原因 Error updating database. Cause: java.sql.SQLException: Data truncated for column 'user_id' at row 1


報錯詳情

org.springframework.dao.DataIntegrityViolationException: 
### Error updating database.  Cause: java.sql.SQLException: Data truncated for column 'user_id' at row 1
### The error may involve com.joowing.mapper.group.LiveRoomsShareLogsMapper.insertSelective-Inline
### The error occurred while setting parameters
### SQL: insert into live_rooms_share_logs      ( org_code,                       roomid,                       scene,                       user_id,                       phone,                       guider,                       path,                       from_user_id,                       from_roomid,                       from_phone,                       openid,                       time,                       dim_date_id,                       created_at,                       updated_at )       values ( ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ?,                       ? )
### Cause: java.sql.SQLException: Data truncated for column 'user_id' at row 1
; ]; Data truncated for column 'user_id' at row 1; nested exception is java.sql.SQLException: Data truncated for column 'user_id' at row 1
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy133.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
at com.baomidou.mybatisplus.core.override.PageMapperMethod.execute(PageMapperMethod.java:67)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:64)
at com.sun.proxy.$Proxy216.insertSelective(Unknown Source)

  






背景:
  小程序端傳值過來的user_id字段為188f4ed0-f98a-0137-e415-0242ac1e4810,當因為接口定義不明確,故一開始在建表的時候,
習慣性將id類給類long長整型,因為長度不夠,插入的時候報錯!

解決方案:
  此時報錯是因為實體類中對於數據庫字段長度不夠,將數據庫中類型變更為String類型並給到255長度對應的model實體類同步變更,
解決

衍生報錯:
  1.檢查傳入參數是否超過數據庫中給定類型長度
  2.檢查是否存在表字段中數據類型跟實體定義中字段的數據類型不一致的
  3.如果對於表字段有過調整,檢查mapper.xml文件中的類型是否全部更改清楚的
  4.檢查數據庫鏈接配置是否串環境的(在本地修改的字段數據,拉了代碼后配置被沖掉,連到了其他環境)
  5.如若各方檢查都感覺無誤,重啟項目,並清除所在模塊下的target文件夾(其中存的是編譯后的class文件),
排除部分代碼更改后未被重現編譯的情況
















 

 


免責聲明!

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



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