SQLエラー:Numeric value out of range

MySQL

SQLで作業していた際にエラーが抽出されたので、エラーを解決した方法について書いていきます。

はじめに

SQLに電話番号のカラムを作成したかったので、

作成した所エラーが抽出されました。

そのエラーがこちら

Error:  Numeric value out of range:

あんまり見たことが無かったので最初戸惑いましたが、

Google翻訳で調べてみました

数値が範囲外

翻訳しても最初はどういう事?

と戸惑いました。

データ型の基礎を思い出せば意外と簡単にエラー解決となりました。

エラー解決

電話番号のカラムのデータ型を、

INT型 → LONG型

へ変更しました。

INT型の有効範囲が32ビット整数 -2,147,483,648~2,147,483,647

であるのに対して

LONG型の有効範囲は64ビット整数 -9,223,372,036,854,775,808~9,223,372,036,854,775,807

になります。

電話番号はスマホの番号だと11桁になるのでINT型であると、

有効範囲数をオーバーしてしまいます。

今回は何も考えずINT型で取得しようと考えていた為、エラーになってしまいました。

まとめ

データ型の有効範囲を意識出来ていればこのようなエラーはなくなるのでは無いかと思いました。もし数値に関するエラーが起きるのであればデータ型を一度確認してみると良いかと思います。

駆け出しエンジニア けいこ♂

コメント

タイトルとURLをコピーしました