美文网首页
SQL insert 批量插入的正确写法

SQL insert 批量插入的正确写法

作者: 南岩飞雪 | 来源:发表于2019-03-29 18:05 被阅读0次

问题

  • 用语句1 导入233条成功,234条就失败

  • 语句1

 <insert id="bathcInsertOrUpdateXXX">
       <foreach collection="list" item="item" separator=";">
           INSERT INTO xxx(corp_id,user_id,xxx)
           VALUES
           (#{item.corpId}, #{item.userId}, #{item.xxx})
           ON DUPLICATE KEY UPDATE
           xxx = VALUES(xxx)
       </foreach>
   </insert>
  • 报错
TddlNestableRuntimeException### Error updating database.  Cause: java.sql.SQLException: TddlNestableRuntimeException   
org.springframework.jdbc.UncategorizedSQLException:
### Error updating database.  Cause: java.sql.SQLException: TddlNestableRuntimeException
### The error may involve defaultParameterMap
### The error occurred while setting parameters

解决

  • 语句2
 <insert id="bathcInsertOrUpdateXXX">
       INSERT INTO xxx(corp_id,user_id,xxx)
       VALUES
       <foreach collection="list" item="item" separator=";">
           (#{item.corpId}, #{item.userId}, #{item.xxx})
       </foreach>
       ON DUPLICATE KEY UPDATE
       xxx = VALUES(xxx)
</insert>

原因

参考

需要注意的 Mybatis 批量插入

相关文章

网友评论

      本文标题:SQL insert 批量插入的正确写法

      本文链接:https://www.haomeiwen.com/subject/baslvqtx.html