mybatis批量插入造成 java.sql.SQLException: Thread stack overrun: 和 Column 'id'  cannot be null

今天记录一下由于mybatis批量插入造成的两个问题

1, java.sql.SQLException: Thread stack overrun:  246176 bytes used of a 262144 byte stack, and 16000 bytes needed.  Use 'mysqld --thread_stack=#' to specify a bigger stack.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)

网上查的

 解决方法:
windows:在这个文件中my-small.ini  thread_stack 建议调整到500K

linux:在my.cnf中配置thread_stack的值可解决此问题。一般可配置为256K。
在my.cnf的[mysqld]小节中加入下面的配置:
thread_stack=256K
保存,重启mysql服务即可。

 查看配置是否生效
进入mysql命令环境中,用以下命令进行查看:
show variables like '%thread%';
mysql会显示出相应的配置参数,确定thread_stack项的value是否为期望值。

 

2,Column 'id'  cannot be null

造成这个错误的原因我也没查到,我的数据id不可能为空,我猜测是长度太长了,数据没有取完,然后就批量插入造成

所以,最后我老老实实的把每2000条插入改为每200条插入就行了。

数据完美的也过来了,上面的两个错误也没了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值