我认为我是一个傻瓜,也许不是进口正确的包装,但是当我做...
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.表名不能参数化.
您还可以在第二个查询的参数化参数周围引用.删除引号,转义由下划线库自动处理.