Data truncation: Out of range value for column ‘estimate_score’
出现这个问题的原因是由于
create table qs_study_user_score_statistics ( id bigint(20) not null auto_increment comment '主键id', user_extend_id bigint(20) comment '用户扩展id', subject_id bigint(20) comment '科目id', estimate_score decimal(4,2) comment '预估分', is_valid tinyint(1) not null default 1 comment '逻辑删除0.无效1.有效', create_by varchar(255) default '' comment '创建人', create_time datetime comment '创建时间', update_by varchar(255) default '' comment '更新人', update_time datetime comment '更新时间', remark varchar(255) default '' comment '备注', primary key (id) );
建表时设置的estimate_score 位数不够,在出现了需要存入的数据 100.5 的时候,整数位置为3位,而数据库设置的decimal(4,2) 4表示总共的数据为长度;2表示小数位2位,那么整体下来整数位只有2位,100超过整数位最大长度而存入异常,根据此处业务需求将总长度改为6位即可
ALTER TABLE qs_study_user_score_statistics MODIFY COLUMN estimate_score decimal(6,2) DEFAULT NULL COMMENT '预估分';