Data truncated for column MYSQL修改表报错

报错内容

修改enum(枚举)类型字段的选项时报错

 #ddl
`col_name` enum('3','2','1') NOT NULL COLLATE utf8mb4_bin DEFAULT '1'
 #报错类容如下
 Data truncated for column 'col_name' at row 1

经过排查,并非字面意思,数据库列长度也是足够的.该字段类型是 enum (枚举)

问题分析

/*
由于该字段以前的值是 'a','b','c' 而且是非空的
那么现在要删除原有 'a','b','c' 取而代之的是 '1','2','3'.
因此导致原有数据中的 'a','b','c' 无法存放在枚举上从而产生报错
所以我们应该先追加枚举选项 'a','b','c',再修改表数据,最后再删除不要的选项
*/

解决方案

  1. 追加枚举选项 ‘1’,‘2’,‘3’
  2. 修改表数据 a=1,b=2,c=3
  3. 修改枚举选项 删除abc,保留123
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java小庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值