RuoYi框架插入数据报错1406, Data too long for column
前言
在使用RuoYi-Vue
框架时,在插入数据时,会报1406错误,原因是数据长度超出了字段长度。这个问题尝试了很多次,最终还是找到了解决方法。
问题
在RuoYi-Vue
框架时,采用官方内置的sql
语句执行。在执行的时候,表全都成功创建了,但是插入数据时,会报1406错误,原因是数据长度超出了字段长度,即:Data too long for column 'xxx' at row 1
。
当时并没有当一回事,但是登录的时候报错:用户不存在。
于是查看数据库,发现sys_user
表为空。仔细一看,只有少数几张表存入了数据。但是使用DBGate
查看数据表中的数据的时候,发现所有中文全都乱码了。
解决方案
既然中文不支持,那就干脆全都设置为中文。
搜索ry_20231130.sql
文件中的engine=innodb
,将其修改为engine=innodb charset=gb2312
,同样的方法用于另一个文件quartz.sql
。于是插入数据的时候就没问题了。