MySQL の不正な整数挿入: 2147483647 のケース
MySQL にデータを挿入すると、特に整数値を扱う場合に、予期しない動作が発生することがあります。 。このような複雑な問題の 1 つは、整数 2147483647 を挿入するときに発生し、意図したものとは異なる値がデータベースに格納される可能性があります。
これが発生する理由を理解するには、MySQL の整数サイズ制限の概念を理解することが重要です。 。デフォルトでは、MySQL は 'int' データ型を使用し、その最大値は 2147483647 です。これは、このしきい値より大きい整数値を 'int' 列に正確に格納できないことを意味します。
提供されたコード スニペットではの場合、変数「$steam64」には Steam Web API ユーザー ID が格納されている可能性があり、これは大きな数値になる可能性があります。この値が「int」として定義されたカラムに挿入されると、MySQL はその値を最大整数範囲内に強制的に収めようとするため、前述の不正な値が生じます。
この問題の解決策は、次のデータ型を変更することです。列を「bigint」に変更します。大きな整数は「int」よりもはるかに大きな値を保持できるため、2147483647 のような値を切り捨てや歪みなく正確に保存できます。
MySQL でデータ型を変更するには、次のクエリを実行するだけです:
ALTER TABLE users_info MODIFY COLUMN steam64 BIGINT;
この変更により、MySQL が $steam64 のような大きな整数値を正しく処理できるようになり、データが確実にデータベースは、スクリプトに保存されている値を正確に反映します。
以上がMySQL ストア 2147483647 が正しくないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。