【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.3.0
【遇到的问题】
对非主键字段变更类型异常:从bigint改为varchar(128),报ERROR 1265 (01000): Data truncated for column ‘seller_id’ at row 1
【复现路径】做过哪些操作出现的问题
seller_id
bigint(20) unsigned DEFAULT NULL
ALTER TABLE testtb MODIFY seller_id VARCHAR(128) NOT NULL DEFAULT ‘’ COMMENT ‘卖家店铺ID’;
【问题现象及影响】
影响字段类型变更,从而影响到业务逻辑处理。
1 个赞
可以看看seller_id是否包含空值
1 个赞
是包含的,因为之前是允许为空。不设置默认值也试过不行,ALTER TABLE testtb MODIFY seller_id VARCHAR(128) NOT NULL COMMENT ‘卖家店铺ID’;
1 个赞
字段本身包含NULL的肯定不能直接改为NOT NULL,需要先把包含NULL的数据处理下。
1 个赞
哦,不会强制转成default是吧。那再试试
1 个赞
先修正null为 默认值,再调表结构
2 个赞
感谢!!已经可以了
1 个赞
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。