我认为我是个笨蛋,也许没有导入正确的包,但是当我导入时......
from pysqlite2 import dbapi2 as sqlite
import types
import re
import sys
...
def create_asgn(self):
stmt = "CREATE TABLE ? (login CHAR(8) PRIMARY KEY NOT NULL, grade INTEGER NOT NULL)"
stmt2 = "insert into asgn values ('?', ?)"
self.cursor.execute(stmt, (sys.argv[2],))
self.cursor.execute(stmt2, [sys.argv[2], sys.argv[3]])
...
I get the error pysqlite2.dbapi2.OperationalError: near "?": syntax error
这对我来说意义不大,因为文档显示 pysqlite 是 qmark 参数化的。不过,我是 python 和 db-api 的新手,请帮帮我!谢谢
请您参考如下方法:
那是因为参数只能传递给VALUES。表名不能参数化。
您还在第二个查询的参数化参数周围加上了引号。删除引号,转义由下划线库自动为您处理。
