У меня проблема с подготовленным оператором в Python, которую я до сих пор не могу решить.
Запрос, который должен быть выполнен, например, ::1003*
SELECT md5 FROM software WHERE software_id IN (1, 2, 4)
Итак, я попытался выполнить запрос следующим образом:
software_id_string = "(2, 3, 4)"
cursor.execute("SELECT md5 FROM software WHERE software_id IN %s",
software_id_string)
Проблема в том, что в строку добавлено '' -> '(2, 3, 4)', так что запрос будет:
SELECT md5 FROM software WHERE software_id IN ''(2, 3, 4)''
Я также пытался перестроить скрипт, как это:
software_id_string = " 1 OR software_id = 2"
cursor.execute("SELECT md5 FROm software WHERE software_id = %s",
software_id_string)
Это работает только для первого идентификатора, который будет отправлен (в данном случае 1), потому что часть OR не будет интерпретироваться как оператор SQL ...
Есть ли возможность исправить проблемы с подготовленными заявлениями?