Это не проблема именования переменных. Проблема в том, что MySQLdb обрабатывает переменную имени таблицы так же, как обрабатывает имена столбцов. Таким образом, он цитирует значение, считая его строковым столбцом.

ользую Python-mysql DB API, чтобы вставить некоторые значения в таблицу, где имя таблицы находится в переменной Python. Поэтому я написал код ниже

DB_CURSOR.execute("""INSERT INTO %s (name,created_by,state,description,docs,admin_email,date_created) VALUES(%s,%s,%s,%s,%s,%s,%s)""", (hosts_table, hostname, created_by, state, description, docroot, admin_email, date_created))

Как видите, имя таблицы находится в переменной hosts_table. Проблема в том, что mysqldb цитирует имя таблицы, и я получаю ошибку mysql. Это прекрасно работает, когда я буквально использую имя таблицы. Как я могу обойти это?

Ответы на вопрос(3)

Ваш ответ на вопрос