ホームページ >データベース >mysql チュートリアル >MySQL データベースで SteamID64 が切り捨てられるのはなぜですか? どうすれば修正できますか?

MySQL データベースで SteamID64 が切り捨てられるのはなぜですか? どうすれば修正できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-08 22:10:16657ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。