前端之家收集整理的这篇文章主要介绍了
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)约束。
编辑:另一个伟大的解决方案:@L_502_0@。