首頁 > 資料庫 > mysql教程 > 如何解決MySQL錯誤1406:資料對於列來說太長?

如何解決MySQL錯誤1406:資料對於列來說太長?

Mary-Kate Olsen
發布: 2025-01-04 05:06:39
原創
885 人瀏覽過

How to Solve MySQL Error 1406: Data Too Long for Column?

MySQL 錯誤:「1406.資料對於列來說太長」

當嘗試將資料插入到列的資料長度超過其定義寬度的MySQL 表中時,您會遇到「錯誤代碼:1406。資料對於列來說太長」錯誤。

考慮這個範例:

CREATE  TABLE `TEST` (
  `idTEST` INT NOT NULL ,
  `TESTcol` VARCHAR(45) NULL ,
  PRIMARY KEY (`idTEST`) 
);
登入後複製

在指定列長度內插入資料按預期工作:

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
);
登入後複製

但是,嘗試插入超過最大列長度的資料會導致錯誤:

INSERT INTO TEST
VALUES
(
    2,
    'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
);
登入後複製

發生這種情況是因為MySQL截斷了任何長於指定列的插入值

解決方案:

要解決此問題,請暫時停用MySQL 的嚴格模式:

在my.ini (Windows) 或my.cnf (Unix)檔案:

編輯「sql-mode」設定以刪除"STRICT_TRANS_TABLES":

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
登入後複製

在資料庫管理工具中使用SQL 查詢:

在資料庫管理工具中使用SQL 查詢:

SET @@global.sql_mode= '';
登入後複製

執行下列查詢將全域SQL 模式設為空白:

停用嚴格模式後,您可以插入超過列長度的資料。但是,請務必小心,因為這可能會導致資料截斷和不一致,因此請謹慎使用此解決方案。

以上是如何解決MySQL錯誤1406:資料對於列來說太長?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板