首頁 >資料庫 >mysql教程 >為什麼我的 MySQL 資料庫會截斷我的 SteamID64,如何修復它?

為什麼我的 MySQL 資料庫會截斷我的 SteamID64,如何修復它?

Susan Sarandon
Susan Sarandon原創
2024-12-08 22:10:16709瀏覽

Why Does My MySQL Database Truncate My SteamID64, and How Can I Fix It?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn