我正在尝试填充一个表(其名称已参数化)。程序运行良好,直到执行命令为止。 这是代码:
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
感谢所有花时间帮助的人。祝您今天过得愉快:)
答案 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})"