MySQL 列のデータ型変更後の「Data Truncated for Column」エラーのトラブルシューティング
次の条件に合わせて MySQL 列のデータ型を変更しました。長い文字列ですが、手動でデータを更新すると、「列のデータが切り捨てられました」エラーが発生します。このエラーは、挿入しようとしているデータが指定された列の長さを超えていることを示します。
診断:
問題は、変更された列に割り当てられている現在の長さにあります。より長い文字列をサポートするためにデータ型を変更したにもかかわらず、列の長さは変更されないため、データ切り捨てエラーが発生します。
解決策:
この問題を解決するには、次の手順に従ってください。手順:
列の長さを確認します: 次のクエリを使用して、影響を受ける列の現在の長さを確認します:
SELECT column_name, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS WHERE table_name = 'calls' AND column_name = 'incoming_Cid';
列の長さを変更します: 列の長さが不十分な場合は、必要な最大長まで増やします。たとえば、incoming_Cid の長さを 34 文字に設定するには、次のクエリを実行します:
ALTER TABLE calls CHANGE incoming_Cid incoming_Cid CHAR(34);
列の長さを調整すると、切り捨てエラーが発生することなく、目的のデータを挿入できるようになります。
以上がMySQL 列のデータ型を変更した後も「列のデータが切り詰められました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。