ホームページ >データベース >mysql チュートリアル >MySQL エラー 1406 を解決する方法: データが列に対して長すぎますか?

MySQL エラー 1406 を解決する方法: データが列に対して長すぎますか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-03 09:51:39378ブラウズ

How to Resolve MySQL Error 1406: Data Too Long for Column?

エラー コード: 1406 – MySQL での過度に長いデータの管理

MySQL テーブルにデータを挿入しようとすると、エラー コードが発生する場合があります1406: データが列に対して長すぎます。このエラーは、データがターゲット列のデータ型に指定された長さを超える場合に発生します。

エラーの原因:

この例では、VARCHAR 列 TESTcol が長さは 45 文字です。ただし、47 文字の長さのデータを挿入しようとすると、エラーが発生します。デフォルトでは、MySQL は指定された列幅を超える値を切り捨てます。

解決策:

このエラーを回避するには、ユーザーは 2 つのオプションを検討できます:

  1. 列の長さを調整: の長さを増やします。長いデータを収容するためのターゲット列。これは、次のような ALTER TABLE ステートメントを通じて実現できます:

    ALTER TABLE TEST MODIFY COLUMN TESTcol VARCHAR(60);
  2. Strict モードを無効にする: MySQL では、Strict モードは実行されるデータ検証のレベルを制御します。挿入操作中。厳密モードを無効にすると、列の長さを超える値を挿入できます。ただし、このオプションはデータの整合性を損なう可能性があるため、ほとんどのシナリオでは推奨されません。

    SET @@global.sql_mode= '';

注: 厳密モードの無効化は、次の場合にのみ使用する必要があるため注意してください。データの整合性が問題にならない特定のケース。

以上がMySQL エラー 1406 を解決する方法: データが列に対して長すぎますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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