Я использую 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
)
Есть ли способ, которым я могу достичьэто?