首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新记录(如果存在),否则插入

问更新记录(如果存在),否则插入
EN

Stack Overflow用户
提问于 2013-02-08 08:38:19
回答 1查看 189关注 0票数 0

我有一个要求,如果记录存在,则更新它,否则插入它。我知道这个问题已经被问过几次了,但我认为我的问题有点棘手。

我有一个表(tbl_settings):

代码语言:javascript
复制
setting_id   |    token   |   setting_value   |   setting_for
1                 1           on                  background
2                 1           off                 vibrate
3                 2           on                  vibrate

等

这是一个移动应用程序,我会将用户设置保存在远程数据库中,以便以后需要时可以检索。

Setting_id是唯一的并且是自动递增的。

令牌将是设备令牌id (特定于用户)

Setting_value是该特定设置的值(开/关

Setting_for是实际设置的名称

现在有4个设置选项可供用户使用,它们可以在单独的时间(当用户更改设置开/关时)或一起写入数据库(如果更好)。

因此,如果用户更改了vibrate设置,我需要一个查询来检查vibrate和token是否存在更新该特定记录,否则使用token、setting_value和setting_for插入。

希望这可以在一个查询中实现。如果不存在,我将使用多个查询,一个用于检查它是否存在,另一个用于插入或更新。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-08 08:46:15

MySQL为此提供了两个选项:

请注意,在这两种情况下,您都必须删除setting_id (这看起来毫无意义),并使用复合主键。

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

https://stackoverflow.com/questions/14763834

复制
相关文章

相似问题

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