Python / MySql-修改代码,将值作为参数传递以传递列和值

时间:2019-05-11 01:48:05

标签: python mysql

我有执行mysql插入的以下python代码。 field_split是我要插入的值的列表。 var_string是%s,的重复字符串,表示我拥有的列数。它工作正常,但我想使代码更灵活,以便我可以传入列名。为此,我创建了report_field_list,这是列名列表。我已经打印了query_string,而且似乎格式正确。

我在新代码中遇到的错误是TypeError: not enough arguments for format string

var_string = ', '.join(['%s'] * len(field_split))  #builds string of %s, based on number of columns
query_string = 'INSERT into ' + table_name
query_string = query_string + ' VALUES (%s);' % var_string
cursor.execute(query_string, field_split)
db.commit()

新代码

var_string = ', '.join(['%s'] * len(field_split))
query_string = 'INSERT into ' + table_name
query_string = query_string + ' (%s);' % var_string
query_string = query_string + ' VALUES (%s);' % var_string   
combined_list = report_field_list + field_split
cursor.execute(query_string, combined_list)
db.commit()

0 个答案:

没有答案