最近我趕上了如題這個問題,後端用node.js寫了一個讀取mysql數據的接口,以前使用了好久都沒發現什麼問題,在查詢訂單表的訂單ID時返回的值倒是錯的node
正確的值是mysql
19102818002800002sql
可是js裏返回的值倒是 數據庫
19102818002800000後端
最後一位不必定是0,可是老是失真,因爲訂單ID我在後續的多個地方重複使用,致使後面全部用到這個值的地方全是錯的。blog
發現結果有錯之後,層層回溯才終於找到了這個錯誤源。接口
開始時沒有想明白是哪裏的問題,我嘗試將這個數據改短一點後發現返回的值就對了,由此診斷出這裏應該是數值過大致使的精度失真string
看了下數據庫結構 ID是bigint類型的變量
想來想去只能是把這個值查詢出來之後馬上賦值成string類型的,不修改接口,直接修改SQLselect