錯誤代碼:1406 - 管理MySQL 中過長的資料
嘗試將資料插入MySQL 表時,使用者可能會遇到錯誤代碼1406:資料對於列來說太長。當資料超過為目標列的資料類型指定的長度時,會發生此錯誤。
錯誤原因:
在提供的範例中,VARCHAR 欄位 TESTcol 有長度為 45 個字元。但是,嘗試插入長度為 47 個字元的資料會觸發錯誤。預設情況下,MySQL 將截斷任何超過指定列寬的值。
解決方案:
要繞過此錯誤,使用者可以考慮兩個選項:
調整列長度:增加目標的長度列以容納較長的資料。這可以透過ALTER TABLE 語句來實現,例如:
ALTER TABLE TEST MODIFY COLUMN TESTcol VARCHAR(60);
停用嚴格模式: 在MySQL 中,嚴格模式控制執行的資料驗證的層級在插入操作期間。停用嚴格模式允許插入超過列長度的值。但是,此選項可能會損害資料完整性,因此不建議在大多數情況下使用。
SET @@global.sql_mode= '';
注意:應謹慎使用禁用嚴格模式,並且僅在以下情況下使用:不關心資料完整性的特定情況。
以上是如何解決MySQL錯誤1406:列資料太長?的詳細內容。更多資訊請關注PHP中文網其他相關文章!