使用命名参数编译sqlalchemy语句
这是一个后续行动。我希望将insert与命名参数一起使用,但不通过SQLA执行它们 我有一个insert语句,定义如下:使用命名参数编译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
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执行查询,因此您需要为您的用例解释它们