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

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

Susan Sarandon
リリース: 2025-01-03 09:51:39
オリジナル
349 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート