在Python基础教程(第二版)的sqlite3编程中
import sqlite3 import sys conn=sqlite3.connect('food.db') curs=conn.cursor() query="SELECT * FROM food WHERE %s" % sys.argv[0] print query curs.execute(query) names=[f[0] for f in curs.description] for row in curs.fetchall(): for pair in zip(names,row): print '%s:%s'%pair pass print
运行提示:sqlite3.OperationalError: unrecognized token: ":"错误
是因为sql语句中%s用''引起来
所以需要把
query="SELECT * FROM food WHERE %s" % sys.argv[0]
中的%S改为'%s'
如下:
query="SELECT * FROM food WHERE '%s'" % sys.argv[0]