列資料類型更新後出現資料截斷錯誤
儘管修改了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中文網其他相關文章!