kuyoro 2022-03-26 13:40 采纳率: 90.5%
浏览 110
已结题

python executemany 怎么动态生成占位符%s

pymysql 中executemany使用的sql语句可以使用%s,如下:

    sql = 'insert into fdata(a1,a2,a3,a4,a5,a6,a7,a8,a9) values(%s,%s,%s,%s,%s,%s,%s,%s,%s);'
    cursor.executemany(sql, sql_data)

但如果插入的表有50多个字段,%s,要写50多个?
有没有好的办法在sql中生成50个%s ?

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-03-26 13:56
    关注

    只生成占位符可以用下面的

    s=(',%s'*50)[1:]
    
    

    字段名称规则for遍历下

    img

    
    fds=""
    values=""
    sql_data=[]
    for i in range(1,51):
      fds=fds+",a"+str(i)
      values=values+",%s"
      sql_data.append(i)
    fds=fds[1:]
    values=values[1:]
    sql = 'insert into fdata('+fds+') values('+values+');'
    #cursor.executemany(sql, sql_data)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题