天天看點

Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE

1、報錯資訊

Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:
 Data truncation: Truncated incorrect DOUBLE
 value: 'as12312aa131dseoxf9qo'           

2、背景:項目中将之間的一個表重構,id用雪花id,資料庫字段類型為bigint。但是有關該表的外鍵都沒改,還是之前的varchar類型。 

3、原因:mysql把bigint類型轉到varchar時,精度丢失了

解決:用

cast

() 

函數或者 

convert() 

函數 将參數強轉成字元類型

主意:這裡不能用 

concat(111,

''

),因為将bigint轉稱varchar也會報錯,

原因是,用

concat()函數轉是把數字和字元串連在一起,而不是轉

繼續閱讀