sql >> データベース >  >> RDS >> Mysql

警告#1264:mysqlの範囲外エラー

    year_expが原因で、このエラーが発生していると思います フィールドはDECIMAL(2,2)です 、およびDECIMAL(4,2)が必要です 。 DECIMAL(2,2) 小数点以下2桁までの精度2の数値を意味します。ただし、この数値の精度は4桁です。

    このMSDNへのリンクでは、小数の精度について説明しています。

    http://msdn.microsoft.com/ en-US / library / ms187746(v =SQL.90).aspx

    これが同様の結果の簡単なテストです(SQL Server 2008で実行されましたが、MySQLを使用していると思います...)

    1)テスト列を含むテーブルを作成しました:

    CREATE TABLE testtable (testcolumn DECIMAL(2,2))
    

    2)挿入ステートメントを実行しました...:

    INSERT INTO testtable (testcolumn) VALUES (23.45)
    

    ...そしてこのエラーを受け取りました...

    (コメント:私のお気に入りのエラーの1つ...「数値を数値に変換できません...」ハハ)

    3)カラムを適切な仕様に変更

    ALTER TABLE testtable ALTER COLUMN testcolumn DECIMAL(4,2)
    

    4)同じ挿入ステートメントを再実行しました。できます。

    これが役に立ったら教えてください。



    1. SQL:UNIONを使用して、特定の選択で並べ替える方法は?

    2. Railsはランダムなレコードを選択します

    3. meta_query、関係ORとANDの両方を使用して検索する方法は?

    4. MySQLでJSON_EXTRACTを使用して、引用符なしの文字列を取得するにはどうすればよいですか?