ホームページ  >  記事  >  データベース  >  MySQL 列のデータ型を更新した後も「データが切り詰められました」エラーが発生するのはなぜですか?

MySQL 列のデータ型を更新した後も「データが切り詰められました」エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 17:38:03593ブラウズ

Why Am I Still Getting a

列のデータ型更新後のデータ切り捨てエラー

34 文字の文字列をサポートするように MySQL 列のデータ型を変更したにもかかわらず、エラーが発生する列内のデータを手動で更新しようとすると、このままになります。 「行 1 の列 'incoming_Cid' のデータが切り捨てられました」というエラーは、適切な列変更を考慮すると不可解に思えます。

根本原因と解決策

問題の原因は次のとおりです。列定義が正しくありません。分析の結果、「incoming_Cid」列は現在 CHAR(1) として宣言されていることが判明しましたが、意図した文字列長に対応するには CHAR(34) にする必要があります。

問題を修正するには、次のコマンドを実行します。コマンド:

ALTER TABLE calls CHANGE incoming_Cid incoming_Cid CHAR(34);

このコマンドは列の長さを 1 から 34 に変更し、意図したとおり 34 文字の文字列を格納できるようにします。

検証

コマンドの実行後、「incoming_Cid」列は CHAR(34) として定義されるはずです。確認するには、次のクエリを発行します。

<code class="SQL">DESC calls;</code>

出力には、変更された列定義が表示されます。

<code class="SQL">Field | Type
incoming_Cid | CHAR(34)</code>

これで、手動更新はデータ切り捨てエラーなしで成功するはずです。

以上がMySQL 列のデータ型を更新した後も「データが切り詰められました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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