python中的Sqlite3游标方法,用于插入新的和更新的重复键

时间:2017-10-14 20:08:14

标签: python-3.x sqlite

MySQL有这样的东西:

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

我给出了在Sqlite3中实现它的方法,我将在下面重现:

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

现在我需要使用cursor方法在Python中实现相同的功能。但我不知道如何放入相当于上述查询的字符串。请注意'ip'和'hits'是变量。

1 个答案:

答案 0 :(得分:0)

只需使用SQL语句调用execute()

ip = '127.0.0.1'
cursor.execute('INSERT OR IGNORE INTO visits VALUES ($ip, 0);', [ip])
cursor.execute('UPDATE visits SET hits = hits + 1 WHERE ip = $ip;', [ip])