【问题标题】:Compiling sqlalchemy statements with named parameters使用命名参数编译 sqlalchemy 语句
【发布时间】:2012-02-25 15:45:08
【问题描述】:

这是对Convert sqlalchemy core statements to raw SQL without a connection? 的跟进。我想使用带有命名参数的插入,但不通过 SQLA 执行它们。

我有一个这样定义的插入语句:

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字符串和我的参数集的位置一致?

【问题讨论】:

    标签: sqlalchemy


    【解决方案1】:

    大多数 SQL 引擎(全部?)都支持命名绑定参数和位置参数,并且 SA 提供了一个接口(@98​​7654322@,很有趣)来做到这一点。 SA Docs 有一个部分包含可能满足您需求的示例。当然,这些示例假设您使用 SA 执行查询,因此您需要针对您的用例解释它们。

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2015-03-13
      • 2013-02-23
      相关资源
      最近更新 更多