项目场景:
sqlite + python 3.6
使用python对sqlite进行插入操作
def save_movie(line):
conn = sqlite3.connect("../db.sqlite3")
sql = "insert into movie(rate,title,cover) values(%f,'%s','%s')" % (float(line['rate']), line['title'], line['cover'])
conn.execute(sql)
conn.commit()
conn.close()
问题描述:
执行代码后报错,并且数据未存入数据库:
......
conn.commit()
sqlite3.OperationalError: near "Reilly": syntax error
原因分析:
syntax error一般为“语法错误”,有可能是少写了分号、少写或多写了括号、写错了关键字或符号等
这里是因为使用了多引号,引号的使用出现问题。一般单引号里面使用双引号。
解决方案:
将单引号与双引号对换,修改后的代码:
sql = 'insert into movie(rate,title,cover) values(%f,"%s","%s")' % (float(line['rate']), line['title'], line['cover'])