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 ?
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 ?
只生成占位符可以用下面的
s=(',%s'*50)[1:]
字段名称规则for遍历下
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)