Python 无法在冲突中使用
我试图使用ON CONFLICT,但得到的错误“接近”ON:语法错误 根据其他页面,这是一个相当新的东西,我应该更新我的sqlite版本,但我不知道如何更新,我当前的sqlite版本是3.21.0 这是我试图使用的代码:Python 无法在冲突中使用,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我试图使用ON CONFLICT,但得到的错误“接近”ON:语法错误 根据其他页面,这是一个相当新的东西,我应该更新我的sqlite版本,但我不知道如何更新,我当前的sqlite版本是3.21.0 这是我试图使用的代码: cdb.execute("INSERT INTO httpproxies (proxy, first , last , timesalive , timesdead ) VALUES (?, ? , ?, ?, ?) ON CONFLICT(proxy) DO UPDATE S
cdb.execute("INSERT INTO httpproxies (proxy, first , last , timesalive , timesdead ) VALUES (?, ? , ?, ?, ?) ON CONFLICT(proxy) DO UPDATE SET last = ?,timesalive = timesalive + 1",
(proxy,t1,t1,1,0,t1))
conndb.commit()
有人能告诉我如何升级sqlite版本或其他代码吗?我已经尝试过pip安装——升级pysqlite3,但没有成功,它保持了与以前相同的版本该语法仅在SQLite3版本3.24.0之后才受支持。您还没有给出任何关于您正在运行的平台的指示,因此我无法就更新SQLite3版本的最佳方法向您提供建议。不过,您可以使用不同的SQL来实现您的目标。下面是一些伪代码来说明这一原理:
execute("INSERT INTO httpproxies (proxy, ...)")
if conflict-error
execute("UPDATE httpproxies SET ... WHERE proxy=?")
end
是的,我也意识到我忘了提到这一点,我需要让它在我的ubuntu 16.04 VPS上工作。希望你能帮我,在windows上我已经让它完美地工作了。