BUG记录 | 注册功能报错:Data too long for column ‘sex‘ at row 1

项目场景

SpringBoot+Vue 前后端分离的项目,在实现前后端交互(注册功能)时出现报错

问题描述

点击注册按钮后显示服务异常
在这里插入图片描述

报错提示

org.springframework.dao.DataIntegrityViolationException: 
### Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1
### The error may exist in cn/itcast/user/mapper/UserMapper.java (best guess)
### The error may involve cn.itcast.user.mapper.UserMapper.add-Inline
### The error occurred while setting parameters
### SQL: insert into user(username,sex,password) values(?,?,?)
### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1

在第一次测试注册功能时,选择了"男",也报错,因此已经重新修改了sex字段的长度,在选择"女"时又出现了报错

但是在postman中点击注册并不会报错

原因分析

这里错误提示数据过长,无法存储到sex字段中,数据库的设计如下(修改过一次)
在这里插入图片描述
在设计时,自己插入的数据是中文字符,而在点击注册后,自动以英语的malefemale存储在数据库中,因此原本的 varchar(2)varchar(4) 就不适合了

在这里插入图片描述

解决方案

这里我选择直接修改字段类型,设计为varchar(8)

测试

成功注册,并将用户信息添加到数据中
在这里插入图片描述

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Alita11101_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值