找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1873|回复: 1

[求助] sql数据库的execute参数,占位符可以非固定长么

4

主题

5

帖子

5

积分

贫民

积分
5
heavenm 发表于 2020-9-23 22:58:11 | 显示全部楼层 |阅读模式

sql='REPLACE INTO `live` (`a`,`b`) VALUES (%s,%s)'
cursor.execute(sql,(1,2))
如果值为2个,就需要2个占位符,可是问题是,我不确定有多少个值返

是不是有其他写法我没搞懂?
回复

使用道具 举报

4

主题

5

帖子

5

积分

贫民

积分
5
heavenm  楼主| 发表于 2020-9-23 23:08:59 | 显示全部楼层
本帖最后由 heavenm 于 2020-9-23 23:10 编辑

  1.     dict={'nick_name':'wsad','task':123123}
  2.     keys = ','.join(map("{0}".format, dict.keys()))
  3.     placeholder=(len(dict)*'%s,')[:-1]
  4.     sql='REPLACE INTO `live` (%s) VALUES (%s)' % (keys,placeholder)
  5.     cursor.execute(sql,list(dict.values()))
复制代码

简单来说就是这句代码还能简化不,是不是有什么简单的字符串可以代替?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表