Я всегда использую параметризованные запросы в своих запросах, но в этом случае необычно то, что я передаю имя столбца в качестве параметра:
Код: Выделить всё
cursor.execute("SELECT alert_name FROM alerts WHERE org_id = %s AND %s = 1", (org_id ,trigger_column))
Если я заменяю ее готовой строкой, все работает нормально (передаются те же значения):
Код: Выделить всё
querysql = f"SELECT alert_name FROM alerts WHERE org_id = {org_id } AND {trigger_column} = 1"
cursor.execute(querysql)
Для меня безопасно использовать первый вариант, поскольку ни одно из значений не поступает от пользовательского ввода (даже косвенно), но я предпочитаю быть последовательным.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ot-working
Мобильная версия