开发者社区> 问答> 正文

SQLite插入-重复键更新(UPSERT)

MySQL有这样的东西:

INSERT INTO visits (ip, hits) VALUES ('127.0.0.1', 1) ON DUPLICATE KEY UPDATE hits = hits + 1; 据我所知,SQLite中不存在此功能,我想知道的是,是否有任何方法可以实现相同的效果而不必执行两个查询。另外,如果这不可能,那么您更喜欢什么:

SELECT +(插入或更新)或 UPDATE(如果UPDATE失败,则 + INSERT )

展开
收起
保持可爱mmm 2020-05-10 22:24:15 891 0
1 条回答
写回答
取消 提交回答
  • 因为3.24.0 SQLite还支持upsert,所以现在您可以简单地编写以下内容

    INSERT INTO visits (ip, hits) VALUES ('127.0.0.1', 1) ON CONFLICT(ip) DO UPDATE SET hits = hits + 1;来源:stack overflow

    2020-05-10 22:24:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载