Подстановочный код MySQL Python LIKE

Я хочу сделать запрос Python MySQL, например:

cursor = connection.cursor() sql = "select text \ from steps \ where text like '%start%'" cursor.execute(sql) 

Но% не рассматривается как подстановочный знак, он ожидает переменную, я думаю. Я получаю сообщение об ошибке:

 TypeError: not enough arguments for format string 

Ничто не работает. Было бы неплохо, если бы я мог использовать переменную вместо «% start%»,

One Solution collect form web for “Подстановочный код MySQL Python LIKE”

Я предполагаю, что вы используете python db-api.

Вы можете попробовать экранировать % как %% .

Что касается передачи параметров, то существует несколько способов, например:

 cursor = connection.cursor() sql = """select text from steps where text like %s""" cursor.execute(sql, (('%' + 'start' + '%',)) 

Вы можете увидеть примеры других способов передачи параметров в этом блоге в разделе «Интерфейс modułu». Не все из них работают со всеми разъемами.

  • Почему мой скрипт python случайно убит?
  • Избегание «сервера MySQL ушло» на редко используемом сервере Python / Flask с SQLAlchemy
  • Оператор обновления Python MYSQL
  • Обратное определение декларативного класса SQLAlchemy из существующей базы данных MySQL?
  • Невозможно использовать значения None (NULL) в python mysql.connector в подготовленном заявлении INSERT
  • Django syncdb работает в SQLite, не работает в MySQL
  • Сортировка и ограничение набора запросов по количеству комментариев и дате с помощью queryset.extra () (django)
  • mysql-python устанавливает фатальную ошибку
  • Python - лучший язык программирования в мире.