You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Error 1265:修改p_mode为ENUM类型时数据截断问题求助

解决Error Code: 1265修改ENUM列失败的问题

错误原因

这个报错是因为你的project表中已经存在的数据不满足你要设置的ENUM规则:要么是p_mode列里有不在('on-site','online','hybrid')范围内的值,要么是存在NULL值(毕竟你加了NOT NULL约束)。

解决步骤

  1. 先排查问题数据
    执行下面的SQL,找出所有不符合要求的记录:
SELECT * FROM project WHERE p_mode NOT IN ('on-site','online','hybrid') OR p_mode IS NULL;
  1. 修正问题数据
    根据实际业务需求处理这些记录,比如:
  • 把非法值/空值改成合法的ENUM值:
UPDATE project SET p_mode = 'on-site' WHERE p_mode NOT IN ('on-site','online','hybrid') OR p_mode IS NULL;
  • 或者直接删除这些无效记录(如果业务允许的话):
DELETE FROM project WHERE p_mode NOT IN ('on-site','online','hybrid') OR p_mode IS NULL;
  1. 重新执行ALTER语句
    等所有数据都符合规则后,再运行你原来的修改语句:
ALTER TABLE project MODIFY COLUMN p_mode ENUM('on-site','online','hybrid') NOT NULL;

内容的提问来源于stack exchange,提问作者Evgenii Korolev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:42:38