首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中插入大容量,而不重复两行值

问在mysql中插入大容量,而不重复两行值
EN

Stack Overflow用户
提问于 2014-06-05 19:39:06
回答 1查看 1.2K关注 0票数 1

我的用户将上传大型csv文件。我需要添加批量mysql值(比如insert into my_table (name, email) values ('john', 'abc@d.co'), ('foo','def@g.org') ...)

如果数据库或查询本身存在重复的电子邮件,则不应该插入它们(或者应该用新的名称更新它们)。

我在每个值上运行一个查询检查,但是性能很差(2000 csv文件占用了一分钟或更多时间)。

我如何优化这个,最好是一个很好的查询,或者创建一个唯一的复合键(user_id和电子邮件组合是唯一的),并声明insert ignore into my_table ...忽略重复。但是怎么做呢?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-05 19:50:31

我直接从这里拿了这个:On Duplicate Key Update - Multiple Columns

如果成功的话,你应该给他/她一个肿块。

代码语言:javascript
复制
INSERT INTO my_table
  (name, email)
VALUES
  ('john', 'abc@d.co'), 
  ('foo','def@g.org')
ON DUPLICATE KEY UPDATE
  name=VALUES(name)
  email=VALUES(email)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24068837

复制
相关文章

相似问题

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