这是一个创建于 4428 天前的主题,其中的信息可能已经有所发展或是发生改变。
代码:
tagsId = [1,2,3]
self.db.query("""select good_id from goods_tags where tag_id in(%s)""", ','.join([str(tid) for tid in tagsId]) )
错误警告:
Warning: Truncated incorrect DOUBLE value: '1,2,3'
蛋疼的解决方法:
self.db.query("""select good_id from goods_tags where tag_id in(%s)""" % ','.join([str(tid) for tid in tagsId]) )
所以怀疑是使用%s被mysqldb给转换后给in查询参数了引号所致。请问各位在tornado中有没有碰到这种问题?是怎么解决的?
1 条回复 • 2014-12-17 10:33:51 +08:00
|
|
1
nodexy 2014-12-17 10:33:51 +08:00
主要原因是你where语句中设置查询条件的field ,所给出的值类型要与mysql里的类型一致,否则就会保持据类似 Warning: Truncated incorrect DOUBLE value: ... 这样的错误,我也遇到了。
我是有一个字段 grade 为 char 型,查询的时候用 where grade=1 就报这个错,但是改成 grade='1' 就oK了。
|