ホームページ >データベース >mysql チュートリアル >Double を使用していないにもかかわらず、MySQL エラー 1292: 間違った DOUBLE 値が切り捨てられるのはなぜですか?
エラー コード 1292: MySQL の不正な DOUBLE 値が切り捨てられました
エラー コード 1292 に遭遇すると、特に「 double 値は使用していません。問題を詳しく調べて、考えられる解決策を探ってみましょう。
提供されたクエリでは、INSERT...SELECT ステートメントを使用して、別のテーブルの値をテーブルに設定しようとしています。重要な詳細の 1 つは、両方のテーブルのデータ型とそのサイズが一致していることを確認することです。
具体的には、エラー メッセージで、不正な DOUBLE 値が含まれていることがわかります。ただし、テーブルには二重フィールドがないと述べました。潜在的な原因は次のとおりです。
ta.phone_number
このフィールドは、両方のテーブルの double ではなく、VARCHAR または CHAR である可能性があります。長さのマッチングのための WHERE 句など、文字列内の数値を含む計算や比較を実行すると、MySQL が文字列を数値に変換しようとし、誤った DOUBLE 値が切り捨てられる場合があります。
解決するにはこの問題では、次の 2 つのオプションがあります。
CAST(REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','') AS UNSIGNED) = 10
phone_number を UNSIGNED 数値型に変換することで、MySQL は DOUBLE に変換せずに数値比較を適切に実行できるようになります。 value.
このデータ型の不一致に対処することで、切り捨てられた不正な DOUBLE 値エラーを回避し、データ転送を確実に成功させることができます。
以上がDouble を使用していないにもかかわらず、MySQL エラー 1292: 間違った DOUBLE 値が切り捨てられるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。