Sql alchemy绑定列名作为参数

时间:2018-03-15 07:28:23

标签: python mysql sqlalchemy

我想使用sql alchemy core执行原始sql查询,其中列名是动态参数。例如:

db_conn.execute(text("Select * from users where :field = :val"), field ='user_id', val=1)

但我发现字段名称参数不会那样工作......

有什么想法吗?

1 个答案:

答案 0 :(得分:-3)

您可以在开始时定义变量,然后传递它:

field ='user_id'
val=1

db_conn.execute(text("Select * from users where "+field+" = "+str(val)+";")

另一种方法是对字符串使用.format选项。

db_conn.execute(text("Select * from users where {field} = {val}".format(field ='user_id', val=1)))