我正在使用Python
和PostgreSQL
(psycopg2
)建立数据库。我正在使用cursor
在数据库中插入值,如以下代码所示:
cursor.execute(
sql.SQL(
"""
INSERT INTO table_A
VALUES (%s, %s, %s, %s)
"""
),
[
'a', 'b', 'c', 'd'
]
)
每个表都有一个运行类似代码以插入值的函数。为了避免冗余,我想实现一个函数,该函数可以泛化任何表的插入,尤其是值格式(例如VALUES (%s, %s, %s, %s)
)。
def foo(table_name, array_of_values):
cursor.execute(
sql.SQL(
"""
INSERT INTO %s
VALUES (%s * len(array_of_values)) # Obviously this doesn't work, it's just an attempt to explain my caveat at this point.
"""
),
[table_name] + array_of_values
)
有没有办法实现这一目标?