kuyoro 2022-03-26 13:40 采纳率: 92.7%
浏览 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 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题