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。