Python и MySQLdb: замена таблицы, приводящая к синтаксической ошибке

StackOverflow https://stackoverflow.com/questions/9394291

  •  29-10-2019
  •  | 
  •  

Вопрос

Мне нужно время от времени динамически изменять таблицы и переменные, поэтому я написал такой метод на Python:

родовое слово

Однако это приводит к исключительной синтаксической ошибке.Я попытался отладить его, поэтому распечатал переменные в методе и заполнил их вручную, и это сработало.Значит, я не уверен, что делаю не так?

Это потому, что я пытаюсь заменить стол?

Также как отладить mysqldb, чтобы он печатал замененный запрос в виде строки?

Это было полезно?

Решение

Подстановка параметров в API БД предназначена только для значений, а не для таблиц или полей.Вам нужно будет использовать обычную замену строк для следующих:

родовое слово

Обратите внимание, что заполнитель значения имеет двойной код-код-тега - это значит, что он не используется при начальной подстановке строки.

Другие советы

Вот полный рабочий пример

родовое слово

Вам нужно будет использовать подстановку строк для добавления имен таблицы и столбца, драйвер будет обрабатывать только параметры.

Эд: НМ, Дэниел ответил быстрее и полнее

Вы хотели написать:

родовое слово

а это просто ошибка с форматированием строки?

Кстати, почему вы пишете явный SQL для такого рода работы?лучше использовать волшебный sqlalchemy для манипуляций с python sql ..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top