mysql - python嵌套SQL语句,字段 in () 格式错误?

 和谐啄木鸟 发布于 2022-10-26 15:49

记录下,防止以后忘掉

原因是在mysql 中, 字段 in 后边应该加元祖(),而现在代码中传进去的参数是个列表,造成语法错误
改正:

将要传递的参数使用 join()生成一个字符串传进去,另外,在MySQL语句中,dtu_id in (%s)(格式符放进元祖括号中)


新手上路,欢迎老司机指导纠正

1 个回答
  • 个人写法,供参考

    db = MySQLdb.connect(*****)
    cursor = db.cursor()
    sql = "update test set name = 'test' where id in(%s)"
    args = [1, 2, 3]
    in_p = ', '.join((map(lambda x: '%s', args)))
    cursor.execute(sql % in_p, args)
    db.commit()
    2022-10-27 01:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有