一、问题描述
org.springframework.dao.DataIntegrityViolationException:
### Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'manager_name' at row 1
### The error may involve com.spt.manager.dao.ManagerUserDao.insertSelective-Inline
### The error occurred while setting parameters
### SQL: insert into manager_user ( manager_username, manager_password, moblie_number, email, manager_name, user_type, create_id ) values ( ?, ?, ?, ?, ?, ?, ? )
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'manager_name' at row 1
; SQL []; Data truncation: Data too long for column 'manager_name' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'manager_name' at row 1
原因就是插入的字段长度超过了,数据库表中定义的长度。
二、解决方案
1.增大数据库表中字段的长度;
2.修改字段类型,比如 Varchar 的长度是很有限的,那你就可以用 Text、mediumtext,longtext;
由于我这个字段是记录的用户名,原长度10,修改为20足矣,就没必要改字段类型了