首頁  >  文章  >  資料庫  >  為什麼更新 MySQL 列的資料類型後仍然收到「資料截斷」錯誤?

為什麼更新 MySQL 列的資料類型後仍然收到「資料截斷」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-10-30 17:38:03594瀏覽

Why Am I Still Getting a

列資料類型更新後出現資料截斷錯誤

儘管修改了MySQL 列的資料類型以支援34 個字元的字串,但仍出現錯誤嘗試手動更新列中的資料時仍存在。考慮到適當的列修改,「第 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn