【问题标题】:Issue in webpy db select querywebpy db选择查询中的问题
【发布时间】:2011-12-09 09:44:36
【问题描述】:

在 webpy db 模块中我有一个查询:

 db().query("select * from table where column in ($ERROR_LIST)",
    vars=dict(ERROR_LIST=ERROR_LIST)).list()

如果ERROR_LIST 只是一个变量,则此查询没有问题。但我的要求是 ERROR_LIST 必须是错误值列表。有没有办法处理 webpy DB 模块中的列表,或者有没有其他方法可以完成这项工作?

【问题讨论】:

  • 代码高亮请不要使用粗体

标签: python mysql database web.py


【解决方案1】:

如果您有一个变量 error_list 保存值列表,让 webpy 为您转换所有内容,并且不要在变量周围添加 ():

db.query("SELECT * FROM table WHERE column IN $ERROR_LIST", vars(dict(ERROR_LIST,error_list)))

由于我相信reparam 使用相同的方法,这似乎有效(包括为您添加括号):

>>> error_list = ['a','b','c']
>>> reparam("s IN $ERROR_LIST", dict(ERROR_LIST=error_list))
<sql: "s IN ('a', 'b', 'c')">

【讨论】:

    猜你喜欢
    • 2012-05-08
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多