首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量插入mysql -我可以使用ignore子句吗?有没有限制。大容量插入的记录数?

问批量插入mysql -我可以使用ignore子句吗?有没有限制。大容量插入的记录数?
EN

Stack Overflow用户
提问于 2009-08-15 14:39:42
回答 2查看 9.1K关注 0票数 15

我有一大堆数据要插入,我决定对mysql使用bulk insert。

插入好友(请求者,好友)值(value1,value2),(value2,value1),(value3,value4),(value4,value3),...

我想知道以下几点:

1)可以使用ignore吗?例如

将忽略插入好友(请求者,好友)值(value1,value2),(value2,value1),(value3,value4),(value4,value3),...

如果我有重复的,会发生什么?它会a)不插入所有内容吗?b)在重复记录之前插入记录,在重复记录之后停止处理数据?c)忽略副本,继续其余部分?

2) no有限制吗?我可以用于像这样的大容量插入的记录的数量?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-15 15:15:11

是的,你可以使用" ignore“关键字,它将简单地忽略重复的错误。它将尽可能地插入每一行,跳过那些会导致重复的行(并且它不会停止处理数据)。如果您这样做(我们假设第一列是主键):

在c值(1,1),(2,2),(3,3),(3,5),(4,5)中插入忽略;

这意味着(3,3)将被插入,而(3,5)将不被插入。除了(3,5)之外的所有内容都将被插入(假设是一个新的表)。

可能没有硬限制,但您可能想要进行测试,看看您应该根据自己的需求在哪里划清界限。

编辑:看起来MySQL对SQL查询的大小有一个可配置的限制,默认值是1MB。更多信息:http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_query_cache_limit。

票数 24
EN

Stack Overflow用户

发布于 2009-08-16 13:17:25

一个INSERT查询最多只能有50,000行。

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

https://stackoverflow.com/questions/1282025

复制
相关文章

相似问题

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