OperationalError:接近“if”:语法错误

时间:2014-01-08 06:48:43

标签: python-2.7 sqlite

所以,我有使用sqlite3的python脚本:

cursor.execute("""if exists (select * from items where defindex=:def)    
update items set imgurl=:img,name=:name where defindex=:def    
else 
insert into items values(:img,:def,:name)""",{"def":item['defindex'],"img":    item['image_url_large'],"name": item['name']})

为什么OperationalError:接近“if”:出现语法错误?我试着搜索,但找不到任何东西。

1 个答案:

答案 0 :(得分:0)

感谢Gryphius,我用插入或替换替换了我的if。它对我很有帮助。

cursor.execute("insert or replace into items values(:id,:img,:def,:name)",{"id":itemid,"def":item['defindex'],"img": item['image_url_large'],"name": item['name']})