首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于非唯一键的更新/插入?

问基于非唯一键的更新/插入?
EN

Stack Overflow用户
提问于 2016-05-26 18:25:54
回答 2查看 212关注 0票数 0

我有一张桌子

代码语言:javascript
复制
id | user | date | data1 | data2 ......

其中id是主要的唯一键。

我正在尝试编写一个查询,如果user和date都存在,则可以进行更新,而如果其中任何一个都不存在,则插入它们

我考虑了INSERT INTO...ON重复的KEY...UPDATE方法,但这需要使用唯一的键,这是我有但没有使用的。

处理这个问题的好办法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-26 18:55:21

根据注释中的讨论,您应该使(user, date) 成为唯一的键.。

这将按预期触发INSERT INTO ... ON DUPLICATE KEY UPDATE查询,用匹配的user和date字段更新行,并插入未找到匹配字段的新行。

票数 2
EN

Stack Overflow用户

发布于 2016-05-26 18:30:02

唯一有效的选择是用与mysql一起使用的编程语言实现这个UPSERT,因为MySQL需要INSERT ... INTO和REPLACE的唯一键。

或者在user和date列上添加一个唯一的索引,这似乎与您的业务逻辑是一致的。

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

https://stackoverflow.com/questions/37468464

复制
相关文章

相似问题

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