我正在寻找一种使用带有sqlalchemy的原始查询插入多行的简单方法。
我正在尝试运行这种查询,其中要插入的行数可能会有所不同:
INSERT INTO table (
col_1,
col_2
)
VALUES (row_1_col_1, row_1_col_2), (row_2_col_1, row_2_col_2),
(row_3_col_1, row_3_col_2);
我想知道是否有一种方法可以使用字典列表作为查询参数:
from sqlalchemy.sql import text
insert_query = text("""
INSERT INTO table (
col_1,
col_2
) VALUES :to_insert
""")
params = {'to_insert': [
{'col_1': 'row_1_col_1', 'col_2': 'row_1_col_2'},
{'col_1': 'row_2_col_1', 'col_2': 'row_2_col_2'},
{'col_1': 'row_3_col_1', 'col_2': 'row_3_col_2'}]
result = connection.execute(query, params)
而不是使用','。join创建字符串。