数据库报错com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'ua' at row 1

时间:2024-06-14 13:05:38

记一次报错记录,成长路上的点滴

明明使用浏览器或者微信开发工具调试接口没有问题,但是在真机测试时候就出问题了。(((¬_¬))

500服务器内部错误,要死的节奏啊

登陆tomcat服务器

使用命令tail -f /usr/local/tomcat/logs/catalina.out

查看实时日志输出记录

Sql: insert into `log_action`(`args`, `post_data`, `response_data`, `ip`, `ua`, `add_time`, `url`) values(?, ?, ?, ?, ?, ?, ?)

2018-11-01 11:16:36
[ERROR]-[Thread: http-nio-8080-exec-62]-[com.jfinal.core.ActionHandler.handle()]: xxx
com.jfinal.plugin.activerecord.ActiveRecordException: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'ua' at row 1

报错是日志表中的ua太小,数据存不下,但是我设置成了我自以为了最大值了啊varchar(255),

好吧!还是太无知了。

根据网上资料显示MySQL VARCHAR字段最大长度到底是多少

除了text和blob等大字段外,其余了如int,char,varchar这些字段最大存储长度不能超过65535字节,

一般我们表使用utf8编码,按照一个字符最大占用三字节算,最大可存放21845个字符。

所以vachar最少可存储21845个字符。,定义时候可以varchar(21845)

255不是最大存储长度啊~

动手改改数据库字段长度吧,可能windows不会出现这个情况,好像varchar(这个括号里的数字可有可无)

搞定,问题修复