代码之家  ›  专栏  ›  技术社区  ›  PapeK24

有什么方法可以将python集转换为在SQL的“in”语句中使用吗?

  •  3
  • PapeK24  · 技术社区  · 8 年前

    这就是我得到的:

        def end_actions(self, timestamp, ids):
             statement = "UPDATE items " \
                    "SET end_time = " + timestamp + " " \
                    "WHERE auction IN " + ids + ";"
            self.execute_statement(statement)
    

    谢谢

    1 回复  |  直到 8 年前
        1
  •  2
  •   Andy Carlson    8 年前

    我不知道你的身份证是什么类型的。我假设它是一组整数。您希望SQL子句看起来像这样 WHERE auction IN (1, 2, 3); map 设置为字符串列表并将其传递给 join

    "WHERE auction IN (" + ", ".join(map(str, ids)) + ");"
    

    "WHERE auction IN (" + ", ".join("'" + id + "'" for id in ids) + ");"