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()函數轉是把數字和字元串連在一起,而不是轉