ホームページ >データベース >mysql チュートリアル >MySQL の整数列に間違った値が格納されるのはなぜですか?

MySQL の整数列に間違った値が格納されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 09:46:11374ブラウズ

Why is my MySQL integer column storing incorrect values?

MySQL への間違った整数の挿入

提供されているような SQL クエリを使用して MySQL データベースに整数を挿入する場合:

$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";

挿入された整数が、に保存されている整数と異なるという問題が発生する可能性があります。 $steam64 変数。

調査

この問題のデバッグには、var_dump または echo を使用して $steam64 の値を検証することが含まれます。これにより、正しい整数が格納されていることを確認できます。違いは、MySQL の整数ストレージの制限にあります。

解決策

MySQL が int フィールドに格納できる最大整数値は 2147483647 です。挿入される整数がこれを超える場合は、制限に達すると、適合するように切り捨てられるため、不正確な値になります。この問題を解決するには、steam64 フィールドのデータ型を int から bigint に変更します。これにより、より大きな整数を切り捨てずに保存できるようになります。

ALTER TABLE users_info MODIFY steam64 BIGINT;

以上がMySQL の整数列に間違った値が格納されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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