当前位置:首页 > 数据库 > SQlite

SQLite INSERT – ON DUPLICATE KEY UPDATE(UPSERT)

MySQL有这样的东西:

INSERT INTO visits (ip, hits)
VALUES ('127.0.0.1', 1)
ON DUPLICATE KEY UPDATE hits = hits + 1;

据我所知,SQLite中不存在此功能,我想知道的是,如果有任何方法可以实现相同的效果而无需执行两个查询.此外,如果无法做到这一点,您更喜欢什么:

> SELECT(INSERT或UPDATE)或
> UPDATE(如果UPDATE失败则插入)

解决方法:

Since 3.24.0 SQLite also supports upsert,所以现在你可以简单地写下面的内容

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

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!