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 '预估分';