SQLite UPSERT – 重复键更新

前端之家收集整理的这篇文章主要介绍了SQLite 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失败,则插入)

INSERT OR IGNORE INTO visits VALUES ($ip,0);
UPDATE visits SET hits = hits + 1 WHERE ip LIKE $ip;

这要求“ip”列具有UNIQUE(或PRIMARY KEY)约束。

编辑:另一个伟大的解决方案:http://stackoverflow.com/a/4330694/89771

猜你在找的Sqlite相关文章