BUG记录 | 注册功能报错:Data too long for column ‘sex‘ at row 1
2023-12-24 16:38:12
项目场景
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
字段中,数据库的设计如下(修改过一次)
在设计时,自己插入的数据是中文字符男
和女
,而在点击注册后,自动以英语的male
和female
存储在数据库中,因此原本的 varchar(2)
和 varchar(4)
就不适合了
解决方案
这里我选择直接修改字段类型,设计为varchar(8)
测试
成功注册,并将用户信息添加到数据中
文章来源:https://blog.csdn.net/Alita233_/article/details/135182400
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!