db.update(table, where='id IN ($id)', vars={'id': id.split(',')})
id值为串"1,2",以上代码报错:
OperationalError: (1241, 'Operand should contain 1 column(s)')
若换成:
db.update(table, where='id IN ($id)', vars={'id': id})
则报:Warning: Truncated incorrect DOUBLE value: '1,2'
莫非对于IN操作只能串拼接,不能参数替换?
http://ruby-china.org/topics/18429
db.update 的用法用错了,按照你的代码实现的SQL是这样的:
updatetablesetwhereidin((1,2))正确的用法是这样的:
db.update(table_name,where='idin$id',column_name='abc',vars={'id':[1,2]})生成的SQL:
updatetable_namesetcolumn_name='abc'whereidin(1,2)版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。