半亩花草 发表于 2024-6-15 03:40:41

代码插入数据库数据时报错:Cause: com.mysql.cj.jdbc.exceptions.MysqlDat

一、报错信息
### Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'type' at row 18 ### The error may exist in file ### The error may involve com.rdps.report.mapper.StubfileMapper.batchInsert-Inline ### The error occurred while setting parameters
二、原因分析
从日志可以看到关键字:Data too long for column ‘source_table’,意思就是插入的数据超出了建表时的最大长度,使用 navicat 打开表设计,修改表中字段最大长度时又发现报错为:https://img-blog.csdnimg.cn/direct/45c1f67b3de94dce9b5d6385432b5cff.png
因为使用的数据库为 MySQL,表的引擎是 InnoDB 表范例,会出现锁等待的环境,在出现锁等待时,会根据参数 innodb_lock_wait_timeout(默认50s)的配置,判定是否需要举行 timeout 的操作,如果等待时间超过了设置的时间就会报错。此时才想到自己代码还处于debug状态,因此造成了锁等待环境,接着停止代码运行后就可以修改表中字段长度了~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 代码插入数据库数据时报错:Cause: com.mysql.cj.jdbc.exceptions.MysqlDat