MySQL 整數精確度限制:
Steam Web API 提供了一個稱為 $steam64 的 64 位元整數。使用查詢 INSERT INTO users_info (steam64) VALUES ('$steam64') 將此值插入 MySQL 資料庫時,您會遇到變數中儲存的值與插入資料庫中的值之間存在差異。
這是因為 MySQL 對整數型態有精確度限制。整數列中可以儲存的最大整數值為 2,147,483,647。由於 $steam64 值超出此限制,MySQL 會將其截斷為允許的最大值,即 2,147,483,647。
解決方案:
要解決此問題,請更改列類型從 INT 到 BIGINT。 BIGINT 最多可以儲存 9,223,372,036,854,775,807 的整數,這對於 64 位元整數來說已經足夠了。
修改表定義以包含以下變更:
ALTER TABLE users_info MODIFY COLUMN steam64 BIGINT;
進行此變更後,查詢將將正確的 64 位元 $steam64 值插入資料庫。
以上是為什麼我的 MySQL 資料庫會截斷我的 SteamID64,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!