2024-06-09 04:03:18 发布
网友
我有一个要加入字符串的整数列表
ids = [1,2,3,4,5]
看起来像“Id=1或Id=2或Id=3或Id=4或Id=5”
我现在有了答案,但我想征求专家组的意见也许是件好事
编辑:向反对者提供更多信息… 这不是直接生成SQL,而是发送到Ado.net公司下面使用实体框架的数据服务层。服务中的动态表达式处理程序/EF4适配器当前不支持IN子句,我暂时不得不求助于多个equals语句。在
" or ".join("id = %d" % id for id in ids)
mystring = 'id =' + 'or id ='.join(str(i) for i in ids)
如果你想像评论中提到的那样生成动态sql(不知道我是怎么错过的),你应该这样做
其中?将替换为数据库库的适当转义序列。对于sqlite3,这是?。对于MySQLdb,它使用printf代码IIRC。然后,您可以将id的列表作为sql字符串后面的第二个参数传递给游标,它将以一种安全的方式将它们放在那里。这总是对的。在
?
如果你想像评论中提到的那样生成动态sql(不知道我是怎么错过的),你应该这样做
^{pr2}$其中
?
将替换为数据库库的适当转义序列。对于sqlite3,这是?
。对于MySQLdb,它使用printf代码IIRC。然后,您可以将id的列表作为sql字符串后面的第二个参数传递给游标,它将以一种安全的方式将它们放在那里。这总是对的。在相关问题 更多 >
编程相关推荐