首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不存在,则添加到MySQL中的行

如果不存在,则添加到MySQL中的行
EN

Stack Overflow用户
提问于 2012-03-12 18:22:55
回答 3查看 225关注 0票数 2

当向表中添加一行,但首先检查它是否存在时,哪种方法是最有效的处理方法?

是否需要查询它是否存在,如果不存在,则插入。

还是在副本上使用?

或者简单地替换(如果行不存在,是否可以这样做)?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-12 18:24:55

我认为这是MySQL中最快的方法:

代码语言:javascript
复制
REPLACE into table (col1, col2) values(1, 'ABC')

编辑:

如果该行存在,MySQL将删除该行并插入一个新行。

票数 3
EN

Stack Overflow用户

发布于 2012-03-12 18:25:12

我想你需要看看this或者INSERT ON DUPLICATE KEY UPDATE

票数 2
EN

Stack Overflow用户

发布于 2012-03-12 18:27:41

如果有一个唯一的字段可以检查,比如'email‘或'login’,那么如果存在,你可以尝试插入和mysql提升错误,否则你会按照juergen d的建议进行替换。

注意:如果您出于任何原因需要时间戳,请不要使用replace (例如,在加密密码或盐中使用时间戳

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

https://stackoverflow.com/questions/9665301

复制
相关文章

相似问题

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