エラー コード: 1406 – MySQL での過度に長いデータの管理
MySQL テーブルにデータを挿入しようとすると、エラー コードが発生する場合があります1406: データが列に対して長すぎます。このエラーは、データがターゲット列のデータ型に指定された長さを超える場合に発生します。
エラーの原因:
この例では、VARCHAR 列 TESTcol が長さは 45 文字です。ただし、47 文字の長さのデータを挿入しようとすると、エラーが発生します。デフォルトでは、MySQL は指定された列幅を超える値を切り捨てます。
解決策:
このエラーを回避するには、ユーザーは 2 つのオプションを検討できます:
列の長さを調整: の長さを増やします。長いデータを収容するためのターゲット列。これは、次のような ALTER TABLE ステートメントを通じて実現できます:
ALTER TABLE TEST MODIFY COLUMN TESTcol VARCHAR(60);
Strict モードを無効にする: MySQL では、Strict モードは実行されるデータ検証のレベルを制御します。挿入操作中。厳密モードを無効にすると、列の長さを超える値を挿入できます。ただし、このオプションはデータの整合性を損なう可能性があるため、ほとんどのシナリオでは推奨されません。
SET @@global.sql_mode= '';
注: 厳密モードの無効化は、次の場合にのみ使用する必要があるため注意してください。データの整合性が問題にならない特定のケース。
以上がMySQL エラー 1406 を解決する方法: データが列に対して長すぎますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。