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') ;
參考資料 :
請先 登入 以發表留言。