gpt4 book ai didi

php - 批量插入 mysql - 我可以使用忽略子句吗?有没有限制。批量插入的记录?

转载 作者:IT老高 更新时间:2023-10-29 00:14:54 24 4
gpt4 key购买 nike

我有一堆数据要插入,我决定对 mysql 使用批量插入。

插入 friend (请求者,伙伴)值(value1,value2),(value2,value1),(value3,value4),(value4,value3),......

我想知道以下内容:

1) 我可以忽略吗?例如

将 ignore 插入 friend (请求者、伙伴)值 (value1, value2), (value2, value1), (value3, value4), (value4, value3), ...

如果我有重复会怎样?它会 a) 不插入所有内容吗? b)在重复记录之前插入记录并停止处理之后的数据? c) 忽略重复项并继续处理其余的?

2) 是否有数量限制?有多少记录可以用于像这样的批量插入?

谢谢。

最佳答案

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

insert ignore into c values (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 .

关于php - 批量插入 mysql - 我可以使用忽略子句吗?有没有限制。批量插入的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com