数据库
首页 > 数据库> > SQLite INSERT – ON DUPLICATE KEY UPDATE(UPSERT)

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;

标签:upsert,sql,mysql,sqlite,database
来源: https://codeday.me/bug/20190915/1805057.html