参数化表格人口

时间:2019-05-26 16:53:28

标签: python mysql python-3.x

我正在尝试填充一个表(其名称已参数化)。程序运行良好,直到执行命令为止。 这是代码:

table_name = input("Enter table name: ")
value_name = input("Enter name: ")
sql = "INSERT INTO %s (name) VALUES (%s)" % db.escape_string(table_name), (value_name)
cursor.execute(sql)

我收到以下错误: TypeError: not enough arguments for format string

感谢所有花时间帮助的人。祝您今天过得愉快:)

2 个答案:

答案 0 :(得分:0)

只需包装如下所示的sql格式并尝试。

sql = "INSERT INTO %s (name) VALUES (%s)" % (db.escape_string(table_name), value_name)

答案 1 :(得分:0)

您可以选择使用新的格式格式

sql = f"INSERT INTO {tab} (name) VALUES ({val})".format(tab=db.escape_string(table_name), 
                                                        val=value_name)

sql = f"INSERT INTO {db.escape_string(table_name)} (name) VALUES ({value_name})"