Параметризованная таблица населения - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь заполнить таблицу (имя которой параметризовано).Программа работает нормально, вплоть до момента, когда команда будет выполнена.Вот код:

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 голосов
/ 26 мая 2019

в качестве альтернативы вы можете использовать новый формат форматирования

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})"
0 голосов
/ 26 мая 2019

Просто оберните форматирование sql, как показано ниже, и попробуйте.

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