用字符串%s替换python中的字符串的联接列表

2024-06-09 04:03:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个要加入字符串的整数列表

ids = [1,2,3,4,5]

看起来像“Id=1或Id=2或Id=3或Id=4或Id=5”

我现在有了答案,但我想征求专家组的意见也许是件好事

编辑:向反对者提供更多信息… 这不是直接生成SQL,而是发送到Ado.net公司下面使用实体框架的数据服务层。服务中的动态表达式处理程序/EF4适配器当前不支持IN子句,我暂时不得不求助于多个equals语句。在


Tags: 字符串答案信息idids编辑列表sql
2条回答
" or ".join("id = %d" % id for id in ids)
mystring = 'id =' + 'or id ='.join(str(i) for i in ids)

如果你想像评论中提到的那样生成动态sql(不知道我是怎么错过的),你应该这样做

^{pr2}$

其中?将替换为数据库库的适当转义序列。对于sqlite3,这是?。对于MySQLdb,它使用printf代码IIRC。然后,您可以将id的列表作为sql字符串后面的第二个参数传递给游标,它将以一种安全的方式将它们放在那里。这总是对的。在

相关问题 更多 >