ошибка запроса MySQL в Python

0

У меня есть синтаксическая ошибка MySQL, когда я запускаю следующий код:

cnx = mysql.connector.connect(**connection)
cursor = cnx.cursor()

select_categories = ("select 'id', 'name', 'url' from categories where 'id_parent'=%s")
cursor.execute( select_categories, (4) )

Ошибка:

mysql.connector.errors.ProgrammingError: 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "% s" в строке 1

Как это исправить?

  • 0
    это не должно быть "select id, name, url from categories where", id_parent=%s
  • 0
    @Maddy: Нет. Все работает нормально, если я установил select_categories = ("select 'id', 'name', 'url' from categories where 'id_parent'=4")
Показать ещё 2 комментария
Теги:

1 ответ

2
Лучший ответ

Проблема в том, что python интерпретирует (4) как 4, а параметр должен быть итерируемым. Попробуйте обновить:

cursor.execute( select_categories, (4, ) )

Запятая после 4 заставит питон интерпретировать это как кортеж.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню