我似乎无法克服以下错误:
Traceback (most recent call last):
File "datascraper.py", line 352, in <module>
URL))
sqlite3.OperationalError: near "WHERE": syntax error
它来自以下代码(第352行标记):
^{pr2}$作为参考,Python中封装的SQL命令应该如下所示:
INSERT INTO someSQLtable (providername, providerlink)
VALUES ('somestring', 'http://www.someurl.com/stuff/')
WHERE NOT EXISTS (
SELECT * FROM someSQLtable
WHERE someSQLtable.providerlink = 'http://www.someurl.com/stuff/')
我的目标是通过检查新检索到的表链接(它是唯一的)来检查表是否已经包含有问题的条目,如果表中还没有链接,就写到表中。在
使用空格显示第352行的最后一个URL出现异常。在
我已经尝试过将输入修改为另一个字符串,看看是否有效,更改代码以使用Python的stringops(恐怖!)喝一杯。到目前为止似乎什么都没用。在
也许这与iSQLLite不同,但通常不能在values语句中使用where子句。尝试类似于:
如果不支持(values(1))as T,那么可能有类似于oraclesdual或DB2的sysibm.sysdummy1在
INSERT语句没有WHERE子句。在
如果您在
providerLink
列上有一个唯一约束(如果没有,您应该创建一个),您可以简单地使用INSERT OR IGNORE:否则,必须用查询替换VALUES子句:
^{pr2}$相关问题 更多 >
编程相关推荐