当前使用版本(必填,否则不予处理)

最新版本

该问题是如何引起的?(确定最新版也有问题再提!!!)

跟了下代码 在InsertBatchSomeColumn拦截中,调用tableInfo.getKeyInsertSqlColumn(false)生成主键 sql 脚本片段这里导致的。

MyBatis-Plus InsertBatchSomeColumn 在主键自增的情况下异常

在这次代码提交中将生成主键sql脚本片段的时候,会生成出错误的sql脚本,判断了一遍主键是否null,但是在批量插入的时候是没有id的,只有在for循环中才能判断是否有id。 如下: INSERT INTO company_tag (<if test="id != null">id,</if>company_id,tag) VALUES <foreach collection="list" item="et" separator=","> (<if test="id != null">#{et.id},</if>#{et.companyId},#{et.tag})

所以调用批量插入这个方法就会报错。

重现步骤(如果有就写完整)

执行测试用例com.baomidou.mybatisplus.test.mysql.MysqlTestDataMapperTest#a02_insertBatch就能出现

报错信息

MyBatis-Plus InsertBatchSomeColumn 在主键自增的情况下异常

Comment From: qmdx

什么数据库 sqlServer 是不支持的,反馈后打开

Comment From: Inighty

什么数据库 sqlServer 是不支持的,反馈后打开

我出现这个问题是mysql. 而且这个是原先添加insertbatchSomecolumn时候就有的test方法,我什么都没改,执行报错。

Comment From: qmdx

什么数据库 sqlServer 是不支持的,反馈后打开

我出现这个问题是mysql. 而且这个是原先添加insertbatchSomecolumn时候就有的test方法,我什么都没改,执行报错。

https://gitee.com/baomidou/mybatis-plus/commit/f0d0f12d556e213eb9eb255d1a3e8403d373a84c

Comment From: antdong

是怎么解决的?不用批量插入了?