У меня есть синтаксическая ошибка 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
Как это исправить?
Проблема в том, что python интерпретирует (4)
как 4, а параметр должен быть итерируемым. Попробуйте обновить:
cursor.execute( select_categories, (4, ) )
Запятая после 4 заставит питон интерпретировать это как кортеж.
"select id, name, url from categories where", id_parent=%s
select_categories = ("select 'id', 'name', 'url' from categories where 'id_parent'=4")