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 是这样的:
正确的用法是这样的:
生成的 SQL :