使用命名参数编译sqlalchemy语句

使用命名参数编译sqlalchemy语句,sqlalchemy,Sqlalchemy,这是一个后续行动。我希望将insert与命名参数一起使用,但不通过SQLA执行它们 我有一个insert语句,定义如下: table = Table("table", meta_data, Column("id", Integer, auto_increment=True, primary_key=1), Column("name", String), Column("full_name", String)) para

这是一个后续行动。我希望将insert与命名参数一起使用,但不通过SQLA执行它们

我有一个insert语句,定义如下:

table = Table("table", meta_data,
             Column("id", Integer, auto_increment=True, primary_key=1),
             Column("name", String),
             Column("full_name", String))
params = {"full_name": "some_name", "name": "some_other_name"}
stmt = sqlalchemy.sql.expression.insert(table).values(params)
c_stmt = stmt.compile(dialect=dialect)
稍后,我将通过DBAPI连接执行此语句。如何确保生成的sql字符串和我的参数集之间的位置一致?

大多数sql引擎(all?)支持命名绑定参数和位置参数,SA提供了一个接口(
bindparam
,很有趣)来实现这一点。本手册有一个章节,其中有可能满足您需求的示例。当然,这些示例假设您正在使用SA执行查询,因此您需要为您的用例解释它们