首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在具有重复密钥更新的MariaDB中批量插入

在具有重复密钥更新的MariaDB中批量插入
EN

Stack Overflow用户
提问于 2016-09-22 20:48:50
回答 1查看 1.2K关注 0票数 2

我有下面的表cl:

代码语言:javascript
运行
复制
id - int(10) primary key
contact - int(10)
list - int(10)

在联系人和列表上有唯一的索引。当我按100条记录批量运行以下查询时:

代码语言:javascript
运行
复制
INSERT INTO cl(list, contact) VALUES (?, ?) ON DUPLICATE KEY UPDATE cl.id = cl.id

在高压下,它的失败率约为20%,错误如下:

代码语言:javascript
运行
复制
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON DUPLICATE KEY UPDATE cl.id = cl.id' at line 1

80%的查询运行得很好。当我使用相同的参数重新运行失败的查询时,仍然有20%的查询失败。

为什么有些查询会失败,然后在第二次执行时不会产生错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 23:15:45

将查询更改为

代码语言:javascript
运行
复制
INSERT IGNORE INTO cl(list, contact) VALUES (?, ?)

解决了问题。虽然还不清楚为什么mysql抛出java.sql.SQLSyntaxErrorException而不是更明确的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39639524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档