此sqlite3查询的正确格式是什么?(Python)
我有以下代码:此sqlite3查询的正确格式是什么?(Python),python,sqlite,python-2.7,Python,Sqlite,Python 2.7,我有以下代码: def add_record(self,values): self.sql.execute("INSERT INTO TEST VALUES (?,?)" % values) 我想调整它以适应用户定义的表,例如: def add_record(self,tablename,values): self.sql.execute("INSERT INTO TEST VALUES (?,?)" % values) 然而,我不反对正确的格式。有人能帮忙吗 请注意
def add_record(self,values):
self.sql.execute("INSERT INTO TEST VALUES (?,?)" % values)
我想调整它以适应用户定义的表,例如:
def add_record(self,tablename,values):
self.sql.execute("INSERT INTO TEST VALUES (?,?)" % values)
然而,我不反对正确的格式。有人能帮忙吗 请注意,对任何查询使用字符串插值都会带来错误的风险 如果可以确保不会使用恶意代码,则可以使用以下两步过程。
1.表名的字符串插值。
2.将查询参数作为第二个参数传递给
.execute()
(不支持表和/或列名的参数化。)
def add_record(self, tablename, values):
the_query = "INSERT INTO {:s} VALUES (?,?);".format(tablename)
self.sql.execute(the_query, values)