Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在冲突中使用_Python_Python 3.x_Sqlite - Fatal编程技术网

Python 无法在冲突中使用

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

我试图使用ON CONFLICT,但得到的错误“接近”ON:语法错误

根据其他页面,这是一个相当新的东西,我应该更新我的sqlite版本,但我不知道如何更新,我当前的sqlite版本是3.21.0

这是我试图使用的代码:

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上我已经让它完美地工作了。