Python 3.x 灵活的参数化查询
我有一个方法,它使用Python 3.x 灵活的参数化查询,python-3.x,sqlite,Python 3.x,Sqlite,我有一个方法,它使用*args接受未知数量的参数。我试图在本地Sqlite数据库中持久化这些参数 def callingMethod(self): self.store("value1", "value2", "value3", "value4") def store(self, *args): self.conn.cursor.execute("INSERT INTO mytable VALUES (?,?,?,?)", args) 我不能总是假设将传递4个参数,但我在参
*args
接受未知数量的参数。我试图在本地Sqlite数据库中持久化这些参数
def callingMethod(self):
self.store("value1", "value2", "value3", "value4")
def store(self, *args):
self.conn.cursor.execute("INSERT INTO mytable VALUES (?,?,?,?)", args)
我不能总是假设将传递4个参数,但我在参数化查询中允许4个参数。有没有办法在我的查询中接受灵活数量的值?如果参数数量未知,并且希望将其存储在表列中,则意味着需要未知数量的列。数据库表不是这样工作的,它们总是有固定数量的列。我有一定数量的列,但并不总是为该列提供一个值,因为它不适用。无论如何都需要传递一个参数。这是一个糟糕的设计,但如果您最多可以期望n个参数,那么您的表应该有n+1列。添加逻辑以确定函数接收的实际参数数量,然后相应地插入空白值。