mybatis 批量插入 Column count doesn‘t match value count at row 1

简介: mybatis 批量插入 Column count doesn‘t match value count at row 1

错误写法:

INSERT INTO table (id, a, b) values
<foreach collection="lists" close=")" open="(" index="i" item="item" separator=",">
    #{item.id},
    #{item.a},
    #{item.b}
</foreach>

正确写法:注意括号位置

INSERT INTO table(id, a, b) values
<foreach collection="lists" index="i" item="item" separator=",">
    <!--注意括号位置-->
    (
    #{item.id},
    #{item.a},
    #{item.b}
    )
</foreach>

错误sql:

INSERT INTO table(id, name, value) values ( ?,?,?,?,?,?)  整个括号括起来了

正确的sql:

INSERT INTO table(id, name, value) values ( ?,?,?),(?,?,?)

发现写法错误,open 和close  不应该写括号,open和close是在整个的前后加内容 而不是  循环的每个迭代

目录
相关文章
|
4月前
|
存储 SQL Java
MyBatis batchInsert 批量插入数据
MyBatis batchInsert 批量插入数据
117 0
|
7月前
|
SQL Java 数据库连接
Mybatis的批量插入Bigdecimal会丢失精度
Mybatis的批量插入Bigdecimal会丢失精度
514 0
|
7月前
|
XML Java 数据库连接
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
204 0
|
7月前
|
SQL 存储 Kubernetes
Seata常见问题之mybatisplus的批量插入方法报SQL错误如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
260 0
|
SQL Java 数据库连接
MyBatis痛点验证,使用 foreach 批量插入慢?
MyBatis痛点验证,使用 foreach 批量插入慢?
429 0
|
7月前
|
存储 Java 数据库连接
MyBatis Plus中的批量插入:通过开启rewriteBatchedStatements=true
MyBatis Plus中的批量插入:通过开启rewriteBatchedStatements=true
740 0
|
7月前
|
Java 数据库连接 mybatis
mybatis 批量插入
mybatis 批量插入
42 0
|
SQL Java 数据库连接
如何使用Mybatis实现批量插入 ?
如何使用Mybatis实现批量插入 ?
86 0
|
小程序 Java 数据库连接
【实践】mybatis批量插入map
【实践】mybatis批量插入map
602 0
|
SQL 缓存 JavaScript
从120s到2.5s!看看人家的MyBatis批量插入数据优化,那叫一个优雅! 下
从120s到2.5s!看看人家的MyBatis批量插入数据优化,那叫一个优雅! 下