關於mysql使用雪花id作為主鍵出現查詢數據不准確問題


1.錯誤描述:


由於公司所開發項目使用的是雪花ID,所以最近在使用雪花ID做關聯查詢時出現原本查詢結果是一條,但是最終查詢出來的卻是兩條或者多條,造成項目取數據時報錯。

2.錯誤原因


本人在網上找了許久,暫未發現明確原因。但是通過觀察查詢出來的數據發現,數據的主鍵id是相鄰的!然后根據mysql官方不推薦使用雪花id作為主鍵的一些原因,本人大概推測。應該就是雪花id引起的查詢數據出錯!

3.解決辦法


解決辦法本人推薦2個:

1.盡量不使用雪花id作為主鍵


如果是剛開始建表時,盡量不使用雪花id作為主鍵即可避免該問題

2.查詢時使用CAST(id,CHAR)函數


如果是必須使用雪花id,可以在關聯查詢時涉及到雪花id時使用CAST()函數將id的類型強轉為CHAR類型進行查詢,查詢出來的結果就是正確的。但是查詢速度太慢!


免責聲明!

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



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