MySQL在對資料類型為ENUM(列舉)的欄位修改資料(MODIFY)時 : 

# ALTER TABLE "資料表名" MODIFY COLUMN "欄位名" ENUM('A', 'B', 'C', 'D', 'E', 'F') ;

 

出現以下錯誤 :

# ERROR 1265 : Data truncated for column "欄位名" at row

 

原因 : 

在server為strict mode的情況下,插入數據不符規定,例如超出資料字段長度、資料字符不符合。

本次是由於資料字符不符合,' ' 與 null 是不同的 ----------> 不能將數值賦予資料長度為0的字段。

 

解決辦法 : 

由於原先欄位的字段為 ' ' 導致此錯誤,因此先將原先欄位修正成非 ' ' 的值,例如 "1" :

# UPDATE "資料表名" SET "欄位名" = 1;

再進行修改即可 :

# ALTER TABLE "資料表名" MODIFY COLUMN "欄位名" ENUM('A', 'B', 'C', 'D', 'E', 'F') ;

 

參考資料 : 

https://stackoverflow.com/questions/1704304/what-is-this-error-database-query-failed-data-truncated-for-column-column-na

創作者介紹
創作者 Rex-Software-Blog 的頭像
Rex

Rex-Software-Blog

Rex 發表在 痞客邦 留言(0) 人氣( 8962 )